我有一張桌子,有2個拉赫(200K)行。當我執行查詢時,需要花費太多時間(大約2分鐘)。如果數據低於設定限制,需要太多時間
這是我的查詢: -
SELECT a,b,c,d,@row:="tag1" as tag
FROM tableName
WHERE tagName like "%helloworld|%"
ORDER BY viewCount desc
LIMIT 20;
helloworld|
2行僅發生。
我想如果數據更改查詢目前的20倍以上,它應該返回20行其他任何行存在。
如何優化此查詢?
運行全表掃描。嘗試全文搜索而不是 –
您需要創建帶有標籤的單獨表格,以便在不使用全掃描的情況下進行過濾。 –
一起嘗試在'tagName'列全文索引用'MATCH AGAINST',即:'WHERE MATCH(標籤名)反對( '的HelloWorld |' IN BOOLEAN MODE)' – mitkosoft