show profile 是mysql提供的可以用來分析當前會話中sql語句執行的資源消耗情況的工具,可用於sql調優的測量。預設情況下處於關閉狀態,並儲存最近15次的執行結果。
開啟show profile功能,預設該功能是關閉的,使用前需開啟。命令如下:
使用儲存過程向teacher表中新增50w條記錄:
-- 建立teacher表
create
table
`teacher`
(`id`
int(11)
notnull
auto_increment
,`name`
varchar(8
)not
null
,`age`
int(11)
notnull
,primary
key(
`id`),
key`idx_name`
(`name`
)using
btree
)engine
=innodb
auto_increment
=1000020
default
charset
=utf8;
--定義儲存過程
dilimiter $
create
procedure addteachers(
)begin
declare i int
default1;
while i<=
500000
doinsert
into teacher(name, age)
value
(i, i%
100)
;set i= i+1;
endwhile
;end $
call addteachers();
-- 呼叫儲存過程
執行幾個相對耗時的sql 語句:
select
*from teacher group
by id%
10limit
150000
;select
*from teacher where age>
80group
by age order
by age limit10;
select
*from teacher where age>
80group
by age%
50order
by age limit30;
、、、、、、
1、show profile的常用查詢引數:2、日常開發需注意的結論(開發中最好不好出現這些)
。
如果在show profile診斷結果**現了以上4條結果中的任何一條,則sql語句需要優化。
mysql效能調優
1.對查詢進行優化,應盡量避免全表掃瞄,首先應考慮在 where 及 order by 涉及的列上建立索引。2.應盡量避免在where子句中對字段進行null判斷,否則會導致引擎放棄使用索引而進行全表掃瞄。3.應盡量避免在where子句中使用 或 操作符,否則會導致引擎放棄使用索引而進行全表掃瞄。4...
Mysql效能調優
mysql 效能調優有很多方面,主要是這幾個方面 1 正規化 是指表的列具有原子性,不可再拆分,只要資料庫是線性的,都自動滿足1nf。2 正規化 表中的紀錄是唯一的。3 正規化 表中資料不應該有冗餘,如果通過某個欄位就能得到跟該字段相關的資訊,就沒必要將這些資訊,再存放到該表中。在3nf中,可能會對...
MySQL效能調優
1 經常用來讀的表使用myisam儲存引擎 2 其餘的表都用innodb儲存引擎 1 在select where order by常涉及到的字段上建立索引 2 where子句中不使用 否則將放棄使用索引進行全表掃瞄 3 盡量避免用null值判斷,否則會全表掃瞄 示例 select id from t...