Mysql 之 100萬數量級,查詢語句優化

2021-09-23 14:21:33 字數 812 閱讀 7884

單錶sql資料查詢對比如圖:

1   查詢 sql語句優化 ,最有效的方式在於索引 ,建索引的規則?

查詢要使用索引最主要的條件是查詢條件中需要使用索引關鍵字, 如果是多列索

引,那麼只有查詢條件使用了多列關鍵字最左邊的字首時,才可以使用索引,否則將

不能使用索引

2 哪些情況不會使用索引 

a  :  索引比全表掃瞄更慢則不使用索引

b:heap 表 並且where 條件不用 =索引列,而用》 ,  >= , 

c:如果不是索引列的第一部分

d : 如果like  以%開始

5:where 後面條件為字串的一定要加引號, 字串如果為數字,mysql會自動轉化為字串,但不使用索引

3   檢視索引使用情況

explain

select * from  tticket_award;

-- 檢視索引使用情況 

show status like 'handler_read%'

-- 分析表

analyze table tticket_award; 

check table  tticket_award; 

checksum table tticket_award;

optimize table  tticket_award;

千萬數量級分頁儲存過程 可支援多表查詢,任意排序

create procedure usp paginglarge tablenames varchar 200 表名,可以是多個表,但不能用別名 primarykey varchar 100 主鍵,可以為空,但 order為空時該值不能為空 fields varchar 200 要取出的字段,可以是...

千萬數量級分頁儲存過程 可支援多表查詢,任意排序

create procedure usp paginglarge tablenames varchar 200 表名,可以是多個表,但不能用別名 primarykey varchar 100 主鍵,可以為空,但 order為空時該值不能為空 fields varchar 200 要取出的字段,可以是...

千萬數量級分頁儲存過程,可支援多表查詢,任意排序

從程式中考慮 比如用資料緩衝和連線池技術 從資料庫伺服器端考慮 比如csdn只選出前300行紀錄,因為使用者不需要那麼多紀錄。你也不必把1000萬條全部分頁。你也不必把紀錄放在乙個表中,一年 太多就乙個月 的資料放一張表或定期把歷史資料匯出到資料資料倉儲中,不要用一張表裝1000萬條記錄。做好索引。...