mysql冗餘索引 MySQL 冗餘和重複索引

2021-10-18 01:31:34 字數 1421 閱讀 4708

冗餘和重複索引冗餘和重複索引的概念:mysql允許在相同列上建立多個索引,無論是有..

冗餘和重複索引

冗餘和重複索引的概念:

mysql允許在相同列上建立多個索引,無論是有意的還是無意的。mysql需要單獨維護重複的索引,香港虛擬主機,並且優化器在優化查詢的時候也需要逐個地進行考慮,香港虛擬主機,這會影響效能。

重複索引:是指在相同的列上按照相同的順序建立的相同型別的索引。應該避免這樣建立重複索引,發現後也應該立即移除。

eg:有時會在不經意間建立了重複索引

create table test (

id int not null primary key,

a int not null,

index(id)

)engine=innodb;

pt-duplicate-key-checker -udbuser -pdbpaswd --charset=gbk \

--database=dbname

執行過後將會統計出有關dbname資料庫的重複和冗餘的索引,內容如下:

# dbname.test1

# vkey is a left-prefix of keydesc_index

# key definitions:

# key `vkey` (`vehiclekey`),

# key `keydesc_index` (`vehiclekey`,`description`)

# column types:

`vehiclekey` char(8) not null default ''

`description` char(255) not null default ''

# to remove this duplicate index, execute:

alter table `dbname`.`test1` drop index `vkey`;

# dbname.test2

# vkey is a duplicate of primary

# key definitions:

# key `vkey` (`vehiclekey`),

# primary key (`vehiclekey`),

# column types:

`vehiclekey` varchar(8) not null default '0'

# to remove this duplicate index, execute:

alter table `dbname`.`test2` drop index `vkey`;

它會統計出所有出現的重複,冗餘的索引,伺服器空間,還將要執行的sql語句也提供了,是不是很方便。

mysql 查詢冗餘索引 冗餘索引對查詢效率的影響

結果一 與執行計畫相關的索引 出現在possible keys的那些 索引的數量與sql執行消耗時間成正比。create index idx1 on test index performance col1 create index idx2 on test index performance col...

mysql 冗餘和重複索引

mysql允許在相同列上建立多個索引,無論是有意還是無意,mysql需要單獨維護重複的索引,並且優化器在優化查詢的時候也需要逐個地進行考慮,這會影響效能。create table test id intnot null primary key,a intnot null b intnot null,...

mysql資料冗餘 MySQL冗餘資料的三種方案

一,為什麼要冗餘資料 網際網路資料量很大的業務場景,往往資料庫需要進行水平切分來降低單庫資料量。水平切分會有乙個patition key,通過patition key的查詢能夠直接定位到庫,但是非patition key上的查詢可能就需要掃瞄多個庫了。此時常見的架構設計方案,是使用資料冗餘這種反正規...