quartz mysql索引 mysql索引分析

2021-10-18 16:10:26 字數 2128 閱讀 5377

建立2張使用者表user、user2,表結構相同,但user表使用innodb儲存引擎,而user2表則使用 myisam儲存引擎。

--table "user" ddl create table `user` (

`id`int(11) not nullauto_increment,

`name`varchar(50) default null,

`email`varchar(100) default null,

`age`tinyint(4) default null,

`nickname`varchar(50) default null,primary key(`id`),unique key`email` (`email`),key`name` (`name`),key`age` (`age`)

) engine=innodb default charset=utf8;--table "user2" ddl create table`user2` (

`id`int(11) not nullauto_increment,

`name`varchar(50) default null,

`email`varchar(100) default null,

`age`tinyint(4) default null,

`nickname`varchar(50) default null,primary key(`id`),unique key`email` (`email`),key`name` (`name`),key`age` (`age`)

) engine=myisam auto_increment=131610 default charset=utf8;

分別插入10w條測試資料到表user & user2。

'@sina.com.cn',

'@163.com',

'@126.com',

'@gmail.com',

'@yahoo.com',

'@live.com',

'@msn.com',

'@cisco.com',

'@microsoft.com',

'@ibm.com',

mysql_close($con);echo 'success';?>

對索引的使用分析

圖1explain select * from user2 where id>100 \g;

圖2user 表中的資料和 user2 表中的資料是一樣的,索引結構也是一樣的,只不過它們的儲存引擎不同。在圖1中,查詢用到了primary主鍵索引,而查詢優化器預估的結果大概在65954行左右(實際是131513);在圖2中,查詢卻沒有使用索引,而是全表掃瞄了,返回的預估結果在131608行(實際是131509)。

圖3explain select * from user where id>100 and age=50 \g;

圖4explain select * from user2 where id>100 and age>50 \g;

圖5explain select * from user2 where id>100 and age=50 \g;

圖6

My程式設計修煉之道

最近想法有點多,已經大三末期的我思緒萬千,對於現在所在的路以及將來要走的路充滿著困惑於不解,但是有一點我是可以確定的,畢業之後我將要從事的行業必然是計算機行業。對於乙個沒有關係,沒有背景我來說,畢業的第一選擇必然是大學所學的專業了。大學裡辛辛苦苦學了四年的專業不能說丟就丟吧,畢竟人的一生能有幾個四年...

Mysql Workbench建模匯入MySQL中

我不知道其他人怎麼做。這個只是我自己摸索的做法。1.workbench中匯出sql檔案。file,export。一直下一步 當然也可以選一些東西 2.處理workbench出來的sql檔案。例如開頭一些set,結尾一些set貌似沒用。刪了。然後字元編碼也要處理一下,預設好像是latin1。這裡最好複...

MySQL WorkBench管理操作MySQL

一 mysql workbench mysql workbench提供dbas和developers乙個整合工具環境 1 資料庫設計和建模 2 sql開發 取代原來的mysql query browser 3 資料庫管理 取代原來的mysql administrator 2 安裝 3 入門資料庫例項...