原文:mysql--大數據表order by + limit 導致查詢緩慢問題

問題描述:數據表有 萬行,單表分頁查詢,count時間在 s內,limit查詢需要一分鍾左右 表的索引非常多,幾乎每寫一個sql都會創建對應的索引, sql類似: 盡管數據量很大,但也很慢的離譜了。查閱資料加上自己的嘗試,發現sql慢的原因是mysql優化器默認選擇了sort字段的索引,這個字段是個時間戳,區分度比較小,所以查詢就會很慢。 跟業務溝通,他們堅持不允許修改排序的字段。好吧,那只能嘗試 ...

2021-10-11 14:41 0 1459 推薦指數:

查看詳情

MySql大數據查詢limitorder by配合緩慢

大數據量在MySQL查詢分頁排序,數據量就會很大 我們可以把limitorder by拆分為兩個步驟 先根據條件 把limit、ordey by相關的數據的索引查出來,然后再根據索引查詢具體的字段信息(也就是兩層嵌套) 例: select id, user_name, id ...

Mon Dec 21 21:07:00 CST 2020 0 449
Mysql新增字段到大數據表導致

昨天晚上7點左右,對一張進行加字段,大概200多萬條記錄,字段90多個的大,結果造成mysql,進而導致服務不可用。執行語句如下: [sql] view plain copy ...

Fri Jul 26 05:05:00 CST 2019 0 1304
mysql大數據表結構方案

有一個有上千W數據, 用什么方法給這個加一個字段最快?1. alert2. 建一個和第一個一樣,只是多了要加的字段,然后用多個INSERT INTO SELECT語句limit寫入3. 就是導出多個文件,然后用loadfile4. 其它? 試過2.5KW數據, alert要156m ...

Tue Feb 11 22:59:00 CST 2014 0 3113
制作mysql大數據表驗證覆蓋索引

昨天跟同事聊起數據表性能的問題,能不能僅用覆蓋索引實現數據的匯總統計。找了一個開發環境已有的數據表進行測試,通過explain命令,能看到mysql通過覆蓋索引就能實現sum的需求,而無須去讀取實際行數據。 但開發環境數據量太小,對執行時間的優化,沒有直觀感受,於是決定做一個數據量能到千萬級 ...

Wed Sep 25 23:49:00 CST 2019 0 337
Mysql大數據表優化處理

MySQL單表記錄數過大時,增刪改查性能都會急劇下降,可以參考以下步驟來優化: 單優化 除非單數據未來會一直不斷上漲,否則不要一開始就考慮拆分,拆分會帶來邏輯、部署、運維的各種復雜度,一般以整型值為主的在千萬級以下,字符串為主的在五百萬以下是沒有太大問題的。而事實上很多時候MySQL ...

Fri May 11 23:25:00 CST 2018 0 1458
Mysql 提升大數據表的拷貝效率

工作上會經常遇到量級比較大的數據表 ;場景: 該數據表需要進行alter操作 比如增加一個字段,減少一個字段. 這個在一個幾萬級別數據量的數據表可以直接進行alter操作,但是要在一個接近1000W的數據表進行操作,不是一件容易的事;可能情況:1.導致數據庫崩潰或者卡死 2.導致 ...

Tue Sep 11 19:50:00 CST 2018 0 1896
mysql大數據表添加字段

方案一、老表數據遷移四部曲方案1、新建老表t_order_goods的備份t_order_goods_bak,同時加一個字段:isVirtual 並給默認值2、遷移老表t_order_goods數據到備份t_order_goods_bak中3、刪除老表t_order_goods4、新命名備份 ...

Fri Aug 21 19:00:00 CST 2020 0 2192
mysql大數據表添加字段

前幾天想為大數據表添加字段,出現了 2013 - Lost connection to MySQL server during query 查看數據條數 +-----------+| count(id) |+-----------+| 6367286 |+-----------+ 重啟機器 ...

Wed Jul 29 22:24:00 CST 2020 0 821
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM