MYSQL的使用

来源:互联网 发布:济南市 优化政务服务 编辑:程序博客网 时间:2024/06/08 06:52

一,SELECT...FOR UPDATE 行鎖/表鎖

SELECT * FROM tableName WHERE id=$id FOR UPDATE

由於InnoDB 預設是Row-Level Lock,所以只有「明確」的指定主鍵,mysql 才會執行row lock (只鎖住被選取的數據) ,否則mysql 將會執行Table Lock (將整個數據表單給鎖住)。


二,LOCK IN SHARE MODE


三,將兩條SQL合成一條

sql1:

ALTER TABLE `gugu_club_notice` MODIFY `target_id` BIGINT(18) UNSIGNED NOT NULL DEFAULT '0' COMMENT '跳轉的目標ID';

sql2:

ALTER TABLE `gugu_club_notice` ADD `notice_type` TINYINT(1) UNSIGNED NOT NULL DEFAULT '0' COMMENT '消息類型' AFTER `content`;

合成:(加逗號連接+去掉重複的命令頭)

ALTER TABLE `gugu_club_notice` MODIFY `target_id` BIGINT(18) UNSIGNED NOT NULL DEFAULT '0' COMMENT '跳轉的目標ID',ADD `notice_type` TINYINT(1) UNSIGNED NOT NULL DEFAULT '0' COMMENT '消息類型' AFTER `content`;


四,EXPLAIN

EXPLAIN + SQL

檢測sql是否用到索引



0 0