国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

淺談MySQL索引優化分析

2024-07-24 12:50:33
字體:
來源:轉載
供稿:網友

為什么你寫的sql查詢慢?為什么你建的索引常失效?通過本章內容,你將學會MySQL性能下降的原因,索引的簡介,索引創建的原則,explain命令的使用,以及explain輸出字段的意義。助你了解索引,分析索引,使用索引,從而寫出更高性能的sql語句。還在等啥子?擼起袖子就是干!

案例分析

我們先簡單了解一下非關系型數據庫和關系型數據庫的區別。

MongoDB是NoSQL中的一種。NoSQL的全稱是Not only SQL,非關系型數據庫。它的特點是性能高,擴張性強,模式靈活,在高并發場景表現得尤為突出。但目前它還只是關系型數據庫的補充,它在數據的一致性,數據的安全性,查詢的復雜性問題上和關系型數據庫還存在一定差距。

MySQL是關系性數據庫中的一種,查詢功能強,數據一致性高,數據安全性高,支持二級索引。但性能方面稍遜與MongoDB,特別是百萬級別以上的數據,很容易出現查詢慢的現象。這時候需要分析查詢慢的原因,一般情況下是程序員sql寫的爛,或者是沒有鍵索引,或者是索引失效等原因導致的。

 公司ERP系統數據庫主要是MongoDB(最接近關系型數據的NoSQL),其次是Redis,MySQL只占很少的部分。現在又重新使用MySQL,歸功于阿里巴巴的奇門系統和聚石塔系統。考慮到訂單數量已經是百萬級以上,對MySQL的性能分析也就顯得格外重要。

我們先通過兩個簡單的例子來入門。后面會詳細介紹各個參數的作用和意義。

說明:需要用到的sql已經放在了github上了,喜歡的同學可以點一下star,哈哈。

https://github.com/ITDragonBlog/daydayup/tree/master/MySQL/

場景一:訂單導入,通過交易號避免重復導單

業務邏輯:訂單導入時,為了避免重復導單,一般會通過交易號去數據庫中查詢,判斷該訂單是否已經存在。

最基礎的sql語句

mysql> select * from itdragon_order_list where transaction_id = "81X97310V32236260E";+-------+--------------------+-------+------+----------+--------------+----------+------------------+-------------+-------------+------------+---------------------+| id | transaction_id | gross | net | stock_id | order_status | descript | finance_descript | create_type | order_level | input_user | input_date |+-------+--------------------+-------+------+----------+--------------+----------+------------------+-------------+-------------+------------+---------------------+| 10000 | 81X97310V32236260E | 6.6 | 6.13 | 1 | 10 | ok | ok | auto | 1 | itdragon | 2017-08-18 17:01:49 |+-------+--------------------+-------+------+----------+--------------+----------+------------------+-------------+-------------+------------+---------------------+mysql> explain select * from itdragon_order_list where transaction_id = "81X97310V32236260E";+----+-------------+---------------------+------------+------+---------------+------+---------+------+------+----------+-------------+| id | select_type | table | partitions | type | possible_keys | key | key_len | ref | rows | filtered | Extra |+----+-------------+---------------------+------------+------+---------------+------+---------+------+------+----------+-------------+| 1 | SIMPLE | itdragon_order_list | NULL | ALL | NULL | NULL | NULL | NULL | 3 | 33.33 | Using where |+----+-------------+---------------------+------------+------+---------------+------+---------+------+------+----------+-------------+
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 禄丰县| 来凤县| 尚志市| 宁明县| 盱眙县| 宣武区| 贡山| 凤冈县| 鹤山市| 沧州市| 太康县| 镇坪县| 阿图什市| 荣昌县| 青海省| 宜丰县| 仙桃市| 海口市| 尼木县| 通化市| 乐平市| 交城县| 宜兰县| 宜都市| 仁寿县| 闽侯县| 青海省| 麟游县| 兰溪市| 周至县| 珠海市| 德兴市| 石楼县| 时尚| 武功县| 纳雍县| 略阳县| 曲阜市| 浏阳市| 汉川市| 双柏县|