MySQL Index Condition Pushdown(ICP)性能優(yōu)化方法實(shí)例(2)_MySQL教程
推薦:MySQL order by性能優(yōu)化方法實(shí)例這篇文章主要介紹了MySQL order by性能優(yōu)化方法實(shí)例,本文講解了MySQL中order by的原理和優(yōu)化order by的三種方法,需要的朋友可以參考下 前言 工作過(guò)程中,各種業(yè)務(wù)需求在訪問(wèn)數(shù)據(jù)庫(kù)的時(shí)候要求有order by排序。有時(shí)候不必要的或者不合理的排序操作很可能導(dǎo)致數(shù)據(jù)庫(kù)系統(tǒng)崩
開(kāi)啟ICP 時(shí),last_name 的like '%sig'條件可以通過(guò)索引字段last_name 進(jìn)行過(guò)濾,在存儲(chǔ)引擎內(nèi)部通過(guò)與where條件的對(duì)比,直接過(guò)濾掉不符合條件的數(shù)據(jù)。該過(guò)程不回表,只訪問(wèn)符合條件的1條記錄并返回給MySQL Server ,有效的減少了io訪問(wèn)和各層之間的交互。
ICP 關(guān)閉時(shí) ,僅僅使用索引作為訪問(wèn)數(shù)據(jù)的方式。

ICP 開(kāi)啟時(shí) ,MySQL將在存儲(chǔ)引擎層 利用索引過(guò)濾數(shù)據(jù),減少不必要的回表,注意 虛線的using where 表示如果where條件中含有沒(méi)有被索引的字段,則還是要經(jīng)過(guò)MySQL Server 層過(guò)濾。

四 ICP的使用限制
1 當(dāng)sql需要全表訪問(wèn)時(shí),ICP的優(yōu)化策略可用于range, ref, eq_ref, ref_or_null 類型的訪問(wèn)數(shù)據(jù)方法 。
2 支持InnoDB和MyISAM表。
3 ICP只能用于二級(jí)索引,不能用于主索引。
4 并非全部where條件都可以用ICP篩選。
如果where條件的字段不在索引列中,還是要讀取整表的記錄到server端做where過(guò)濾。
5 ICP的加速效果取決于在存儲(chǔ)引擎內(nèi)通過(guò)ICP篩選掉的數(shù)據(jù)的比例。
6 5.6 版本的不支持分表的ICP 功能,5.7 版本的開(kāi)始支持。
7 當(dāng)sql 使用覆蓋索引時(shí),不支持ICP 優(yōu)化方法。
代碼如下:
mysql> explain select * from employees where first_name='Anneke' and last_name='Porenta' ;
+----+-------------+-----------+------+---------------+--------------+---------+-------------+------+-----------------------+
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
+----+-------------+-----------+------+---------------+--------------+---------+-------------+------+-----------------------+
| 1 | SIMPLE | employees | ref | idx_emp_fnln | idx_emp_fnln | 94 | const,const | 1 | Using index condition |
+----+-------------+-----------+------+---------------+--------------+---------+-------------+------+-----------------------+
1 row in set (0.00 sec)
mysql> explain select first_name,last_name from employees where first_name='Anneke' and last_name='Porenta' ;
+----+-------------+-----------+------+---------------+--------------+---------+-------------+------+--------------------------+
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
+----+-------------+-----------+------+---------------+--------------+---------+-------------+------+--------------------------+
| 1 | SIMPLE | employees | ref | idx_emp_fnln | idx_emp_fnln | 94 | const,const | 1 | Using where; Using index |
+----+-------------+-----------+------+---------------+--------------+---------+-------------+------+--------------------------+
1 row in set (0.00 sec)
分享:MySQL slave_net_timeout參數(shù)解決的一個(gè)集群?jiǎn)栴}案例這篇文章主要介紹了MySQL slave_net_timeout參數(shù)解決的一個(gè)集群?jiǎn)栴}案例,問(wèn)題日志請(qǐng)見(jiàn)正文,本文使用slave_net_timeout參數(shù)解決了這個(gè)問(wèn)題,需要的朋友可以參考下 【背景】 對(duì)一套數(shù)據(jù)庫(kù)集群進(jìn)行5.5升級(jí)到5.6之后,alter.log 報(bào)warning異常。 復(fù)制代碼 代碼如下: 2015-02-
- 防止服務(wù)器宕機(jī)時(shí)MySQL數(shù)據(jù)丟失的幾種方案
- MySQL Semisynchronous Replication介紹
- MySQL延遲關(guān)聯(lián)性能優(yōu)化方法
- MySQL 5.7增強(qiáng)版Semisync Replication性能優(yōu)化
- MySQL order by性能優(yōu)化方法實(shí)例
- MySQL slave_net_timeout參數(shù)解決的一個(gè)集群?jiǎn)栴}案例
- 使用innodb_force_recovery解決MySQL崩潰無(wú)法重啟問(wèn)題
- MySQL replace into 語(yǔ)句淺析(二)
- MySQL replace into 語(yǔ)句淺析(一)
- MySQL定期自動(dòng)刪除表
- MySQL中的CONCAT函數(shù)使用教程
- MySQL中的RAND()函數(shù)使用詳解
MySQL教程Rss訂閱編程教程搜索
MySQL教程推薦
- 淺析一個(gè)MYSQL語(yǔ)法(在查詢中使用count)的兼容性問(wèn)題
- 將MySQL的臨時(shí)目錄建立在內(nèi)存中的教程
- 防止服務(wù)器宕機(jī)時(shí)MySQL數(shù)據(jù)丟失的幾種方案
- MySQL order by性能優(yōu)化方法實(shí)例
- MySQL筆記之字符串函數(shù)的應(yīng)用
- MYSQL的導(dǎo)入導(dǎo)出與還原備份
- Mysql select in 按id排序?qū)崿F(xiàn)方法
- 去掉mysql連接時(shí)報(bào)警聲音的方法
- 通過(guò)frm&ibd 恢復(fù) Mysql ibdata 丟失或損壞的數(shù)據(jù)教程
- Ubuntu Server下MySql數(shù)據(jù)庫(kù)備份腳本代碼
猜你也喜歡看這些
- 清理SQL Server 2008日志文件Cannot shrink log file 2 的解決方案
- 如何掌握SQL Server的鎖機(jī)制和鎖模式
- 如何在SAN上創(chuàng)建SQL Server群集
- SQL Server查詢語(yǔ)句的使用
- 解讀SQL Server與Access語(yǔ)法小差異
- 如何查看并導(dǎo)出數(shù)據(jù)表中字段的注釋信息
- Microsoft SQL Server 2008安裝圖解教程(Windows 7)
- 高手是怎樣煉成的:精妙SQL語(yǔ)句介紹
- 如何使用SQL Server 2008升級(jí)顧問(wèn)
- 解讀SQL Server游標(biāo)使用實(shí)例
- 相關(guān)鏈接:
復(fù)制本頁(yè)鏈接| 搜索MySQL Index Condition Pushdown(ICP)性能優(yōu)化方法實(shí)例(2)
- 教程說(shuō)明:
MySQL教程-MySQL Index Condition Pushdown(ICP)性能優(yōu)化方法實(shí)例(2)
。