0
我想阻止任何不使用主鍵或已有索引的查詢。 有沒有辦法在會話或服務器級別執行此操作?有沒有辦法在MySQL中禁止未索引的查詢?
我想阻止任何不使用主鍵或已有索引的查詢。 有沒有辦法在會話或服務器級別執行此操作?有沒有辦法在MySQL中禁止未索引的查詢?
簡短的回答:第
就在不久的回答:您可以使用Slow Query Log至少捕「慢」查詢,並建立必要的索引。
較長的答案:索引的使用主要取決於查詢計劃者。因此,可能會出現候選索引的情況,但引擎更願意丟棄它。所以,像你想要的那種固體限制有點混亂。
我的目標是真的禁止那些阻止我們的開發者以我們不想要的方式進行查詢。我們希望它快速失敗,讓他們知道自己做錯了什麼。 – analogue
我看到實現類似於您的目標的唯一方法是拒絕對錶的訪問權限,並提供專門用調整爲使用索引的查詢編寫的存儲過程。這是一種負擔,也可能是發展政策的轉變。從我在[文檔](http://dev.mysql.com/doc/refman/5.5/en/server-options.html)中看到的內容來看,MySQL在會話/服務器級別沒有提供您需要的內容。希望你找到一個方法! –