mysql sql利用索引

2021-08-30 18:30:08 字數 821 閱讀 6651

select id,title from user limit 1000,10;     0.02秒

select id,title from user limit 88888,10;      8-9秒

select id,title from user order by id limit 88888,10;        0.04秒就ok。或者

select id,title from user where id>=(select id from user order by id limit 88888,1) limit 10;

這就是用了id索引的結果。

select id from user where type=1 order by id limit 88888,10;     8-9秒!

type 有索引了?

答案就是:復合索引! 開始的select id from user order by id limit 88888,10; 這麼快就是因為走了索引,可是如果加了where 就不走索引了。加了search(type,id) 這樣的索引。然後測試

select id ,title from user where type=1 limit 88888,10;     0.04秒!

綜上:如果對於有where 條件,又想走索引用limit的,必須設計乙個索引,將where 放第一位,limit用到的主鍵放第2位,而且只能select 主鍵!

select * from user where id in (9000,12,50,7000);  0秒,但in的個數不能太多

寫好sql後最好explain sql 看一下執行效率,有沒有利用索引等

MySQL SQL語句和索引優化

索引優化 2.合理使用索引 慢查詢explain關鍵字 子查詢 select from customerinfo where customerid notin select customerid from salesinfo 連線查詢 select from customerinfo left jo...

MySql SQL常用操作 函式 事物和索引

mysql是乙個關係型資料庫管理系統,在開始學習mysql資料庫前,讓我們先了解下rdbms的一些術語 資料庫 database 是按照資料結構來組織 儲存和管理資料的倉庫,每個資料庫都有乙個或多個不同的api用於建立,訪問,管理,搜尋和複製所儲存的資料,資料庫常用操作 1 create datab...

MySQLSQL優化 礙手礙腳的索引

該篇是sql優化的第4篇。這裡主要表達我的乙個觀點是 不該存在的索引就該乾掉,留著礙事 在2014 3 12 15 39 01 15 55 00這段時間內,在某個業務系統我們發現2個問題 這種現象在資料庫中實際也是很常見,就是某個慢查詢,始作俑者,執行特馬慢,把後面本該很快的查詢給堵住,導致系列長查...