Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

कैसे एक एसक्यूएल खोज क्वेरी और अधिक शक्तिशाली बनाने के लिए?

कुछ ऐसा

Select * from TableName where Name Like 'Spa%'
ORDER BY case when soundex(name) = soundex('Spa') then '1' else soundex(name) end

ठीक काम करना चाहिए।

वास्तव में यह बेहतर काम करेगा

Select * from TableName where Name Like 'Spa%'
ORDER BY DIFFERENCE(name, 'Spa') desc;

FWIW मैंने कुछ त्वरित परीक्षण किए और यदि 'नाम' एक गैर-अनुक्रमित अनुक्रमणिका में है तो SQL अनुक्रमणिका का उपयोग करेगा और तालिका स्कैन नहीं करता है। इसके अलावा, LIKE charindex (जो कम वांछनीय परिणाम देता है) की तुलना में कम संसाधनों का उपयोग करता प्रतीत होता है। एसक्यूएल 2000 पर परीक्षण किया गया।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL में लॉग फाइल कैसे देखें?

  2. MySQL अभी () समय क्षेत्र बदलें

  3. mysql में इंडेक्स बनाएं काम नहीं कर रहा है

  4. डिस्काउंट कोड सिस्टम बनाना (MySQL/php)

  5. इस SQL ​​​​क्वेरी को पिवट टेबल की तरह कैसे जेनरेट करें