एक तरीका है लेकिन जितना अधिक आप फ़ील्ड जोड़ते हैं यह महंगा हो जाता है। यही बात कई CMS के साथ भी होती है जो उस रूप में अतिरिक्त उपयोगकर्ता डेटा संग्रहीत करना चुनते हैं।
आप इसका उपयोग करके एक कार्यशील खोज SQL प्राप्त कर सकते हैं:
SELECT
users.*,
firstname.data AS firstname,
lastname.data AS lastname,
eyecolor.data AS eyecolor,
FROM
users
LEFT JOIN completed_form_fields AS firstname ON firstname.userid = users.id AND firstname.fieldkey = "firstname"
LEFT JOIN completed_form_fields AS lastname ON lastname.userid = users.id AND lastname.fieldkey = "lastname"
LEFT JOIN completed_form_fields AS eyecolor ON eyecolor.userid = users.id AND eyecolor.fieldkey = "eyecolor"
WHERE
firstname.data LIKE '%searchdata%'
OR lastname.data LIKE '%searchdata%'
OR eyecolor.data LIKE '%searchdata%'
जितना अधिक आप टेबल जोड़ते हैं, MySQL सर्वर के लिए यह विधि बहुत बड़ी और महंगी हो जाती है। इसलिए, मैं अनुशंसा करता हूं कि इस तरह से 10-15 से अधिक जॉइन न करें और फिर, मैं यह सुनिश्चित करने के लिए इसे प्रोफाइल करूंगा।