建立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 入門資料庫例項...