0
優化此特定查詢的最佳方法是什麼?通過SUBSTRING或塊列優化SQL
例如我有10位數的電話號碼,我想查詢這兩個中的任何一個。
- WHERE COLUMNNAME從123456
- WHERE columnName1 = 123 OR columnName2 = 456
啓動。
第一:使用SUBSTRING
SELECT *
FROM table
WHERE SUBSTRING(telephone, 1,6)
數據:
id | telephone
1 | 1234560001
2 | 1234560002
二:通過分塊列成碎片
SELECT *
FROM table
WHERE pt1 = 123 AND pt2 = 456
SELECT *
FROM table
WHERE pt1 = 123 OR pt2 = 456
數據:
id | pt1 | pt2 | pt3
1 | 123 | 456 | 0001
2 | 123 | 456 | 0002
哪個更好? SUBSTRING或分塊列?
確實喜歡比SUBSTRING多首選? –
@JamVille。更喜歡當該模式是一個常量/參數,並不以通配符開頭,那麼它可以使用索引。 –