尽量不用NULL列
query cache:读写比例决定
innodb索引一定要在后面加上主键列
参数配置
inno_lock_table:导致死锁的重现方式
自增长:innodb_autoinc_lock_mode=2插入性能最高
AUTO-INC locking完成插入后立即释放,不等事务结束
分类:
insert-like:所有insert
insert/replace [select],load data等
simple-inserts: 最简单insert
insert/replace
bulk inserts:不确定行数
insert/replace select,load data
mixed-mode inserts:一部分自增长,一部分确定
insert values (value1),(valueN);
方式控制innodb_autoinc_lock_mode
0:表锁.5.1.22之前
1:默认值。
simple-inserts:互斥量
bulk inserts:传统表锁autoinc locking
如果不回滚,仍是连续的。
并且sql复制是安全的
mixed-mode inserts:一部分自增长,一部分确定
2:采用互斥量
优点:性能最高
缺点:自增值不连续
基于sql的复制,主从不一致
myisam、innodb实现方式不同,myisam作为innodb从,需要注意这个问题
myisam:表锁,没有并发插入问题
group
行数过多
按规则拆为多表,进行group,再做sum
联合索引(a,b,c),a范围查询,group by b
如果数量不多,可以拆为多个等值group,再进行聚合
结果集过大导致临时表放不下
tmp_table_size、max_heap_table_size两个中较小者
set @@session.tmp_table_size=xxx;
# SQL 规范
http://dev.mysql.com/doc/refman/5.5/en/server-sql-mode.html
-- sql_mode
ONLY_FULL_GROUP_BY
不要启用:NO_UNSIGNED_SUBTRACTION:两个整数运算的结果为有符号型
从全局表获取一个ID
delete t from tb as t
,(select (@mid:=id) as id from tb order by id limit 1) as t2
where t.id=t2.id;
select @mid;
MYSQL升级时
innodb_fast_shutdown必须设为0
完成所有的undo页回收(full purge),insert buffer合并,flush dirty page
优化经验
http://cocos.iteye.com/blog/1041894
query cache:读写比例决定
innodb索引一定要在后面加上主键列
参数配置
inno_lock_table:导致死锁的重现方式
自增长:innodb_autoinc_lock_mode=2插入性能最高
AUTO-INC locking完成插入后立即释放,不等事务结束
分类:
insert-like:所有insert
insert/replace [select],load data等
simple-inserts: 最简单insert
insert/replace
bulk inserts:不确定行数
insert/replace select,load data
mixed-mode inserts:一部分自增长,一部分确定
insert values (value1),(valueN);
方式控制innodb_autoinc_lock_mode
0:表锁.5.1.22之前
1:默认值。
simple-inserts:互斥量
bulk inserts:传统表锁autoinc locking
如果不回滚,仍是连续的。
并且sql复制是安全的
mixed-mode inserts:一部分自增长,一部分确定
2:采用互斥量
优点:性能最高
缺点:自增值不连续
基于sql的复制,主从不一致
myisam、innodb实现方式不同,myisam作为innodb从,需要注意这个问题
myisam:表锁,没有并发插入问题
group
行数过多
按规则拆为多表,进行group,再做sum
联合索引(a,b,c),a范围查询,group by b
如果数量不多,可以拆为多个等值group,再进行聚合
结果集过大导致临时表放不下
tmp_table_size、max_heap_table_size两个中较小者
set @@session.tmp_table_size=xxx;
# SQL 规范
http://dev.mysql.com/doc/refman/5.5/en/server-sql-mode.html
-- sql_mode
ONLY_FULL_GROUP_BY
不要启用:NO_UNSIGNED_SUBTRACTION:两个整数运算的结果为有符号型
从全局表获取一个ID
delete t from tb as t
,(select (@mid:=id) as id from tb order by id limit 1) as t2
where t.id=t2.id;
select @mid;
MYSQL升级时
innodb_fast_shutdown必须设为0
完成所有的undo页回收(full purge),insert buffer合并,flush dirty page
优化经验
http://cocos.iteye.com/blog/1041894
发表评论
-
linux清除mysql占用cache
2013-11-01 10:55 1984在linux内部将cache分为2种: 1、write/rea ... -
mysql模拟队列
2013-05-14 13:42 1049-- 初始化数据 DROP TABLE IF EXIST ... -
高性能mysql[第3版]--笔记
2013-05-03 23:35 06.8 6.8.1 mysql构建消息队列 se ... -
生成随机字符串
2013-04-30 10:41 0DELIMITER $$ CREATE FUNCTIO ... -
复制笔记
2013-04-27 17:48 0http://dev.mysql.com/doc/refman ... -
[整理]mysql导入导出
2013-04-24 22:40 0方案一:拷贝物理文件(innodb, innodb_file_ ... -
【整理中】mysql字符集使用
2013-04-24 22:29 0show variables like 'characte ... -
MYSQL监控内容整理
2013-04-24 13:40 0内容 硬解析,软解析,等待事件,表空间,索引,触发器,alte ... -
无限级联分类查询
2013-04-24 09:36 0DROP TABLE IF EXISTS location ... -
mysqldbcompare --使用
2013-04-07 09:39 0http://dev.mysql.com/doc/workbe ... -
MYSQL 发送数据大小计算公式
2013-03-29 16:20 844引用:http://www.realzyy.com/?p=15 ... -
#mysql 笔记#索引长度限制
2013-03-18 12:11 814http://dev.mysql.com/doc/refman ... -
mysqldump简单使用
2013-01-21 15:27 0mysqldump -B或者--databases:备份指定数 ... -
linux经常登入登出mysql重复输入密码
2013-01-16 17:51 934经常登入、登出mysql,尤其是密码重新输入比较复杂时,使用& ... -
mysql存储过程实现行转列
2012-08-30 16:24 2097把表t_rows中的数据转换 ... -
mysql 判断字符串是否是数字
2012-07-12 10:21 2906查询表table_name中col_name(字符串类型)的值 ... -
[转载]drop 大表效率问题
2012-06-15 09:32 46http://www.mysqlops.com/2011/05 ... -
monyog安装文件
2012-03-26 16:29 1224monyog安装包,绿色版 -
linux sysbench+mysql
2012-02-16 17:25 0一、sysbench安装 tar -zxvf ... -
收藏的常用命令
2011-12-28 15:45 0--innobackup 备份到本机上并进行压缩 inn ...
相关推荐
java代码规范_经验,本人经过经验所总结
FPGA宝贵实战经验Verilog编程规范
as3开发 代码规范 经验总结·注意问题。
不管团队中有多少人,工程中所有的数据结构、资源、代码风格应该统一,如同是同一个人的作品 把资源从一个工程迁移到另一个工程不应该产生新的学习...本套规范根据诸多优秀经验编写,遵守它意味着可以少走很多弯路。
一个压缩包完整版。 本书为框架设计师和广大开发人员设计高质量的软件...这些规范历经.NET框架三个版本的长期开发,凝聚了数千名开发人员的经验和智慧。微软的各开发组正在使用这些规范开发下一代影响世界的软件产品。
周立功高工的FPGA宝贵实战经验与FPGA编程规范
详细解说了在设计铁路路基一些规范,帮助初学者了解到这下基本常识,并懂得一些有实际意义的东西。
三、其他经验性规则 一、sql书写规范: 1、sql语句的所有表名、字段名全部小写,系统保留字、内置函数名、sql保留字大写。 2、连接符or、in、and、以及=、、>=等前后加上一个空格。 3、对较为复杂的sql语句加上...
硬件电路设计规范PCB设计规范PCB设计经验 PCBLAYOUT技术资料合集
为研究神南矿区开采中覆岩的破坏上限及其是否会导通上覆含水层,指导矿区生产规划和采煤方法设计,采用钻孔智能全景成像测井,并通过规范经验公式、相似模拟和数值模拟及建立的本地区经验公式等方法分析采动条件下覆岩...
为了加强管理、提高工作效率, 充分借鉴前人的经验, 对文档进行规范化管理是很有必要的。 它对于保管在开发中形成的文档, 为公司积累宝贵的技术知识的财富, 为今后的软件开发工作提供第一手的宝贵资料起着重要的...
C#编程规范 是英文的 如果英文好的话建议看看 不好的也可以锻炼下
小崔java经验系列之web项目测试规范。小崔java经验系列文档包括(有原创的,有引用的,所有资源均经过本人测试后。感到百试不爽,所以拿出来与大家分享!)
PCB布线规范与经验 内容从Constrains的设定到一些常见经验 认为讲得很好,网转,非原创~
本编程规范是作者结合自身编程实践以及借鉴C++标准编码规范而制定的一个C++简单编码标准,由于作者自身编码经验的限制和为了增强其实用性,规范中列举到的只是作者在编码过程中已经遇到的认为有必要规范的部分内容。...
JavaScript开发规范及经验总结
《绿色生态船舶规范》2022是在2020版规范基础上,根据业界应用实践经验及反馈意见,并结合国际社会及我国关于船舶节能与环保国际公约及技术发展现状及趋势,进行的升级换版。 《绿色生态船舶规范》2022进一步完善了...
数千名微软精锐开发人员的经验和智慧,最终浓缩在这本设计规范之中。与上一版相比,书中新增了许多评注,解释了相应规范的背景和历史,从中你能聆听到微软技术大师anders hejlsberg、jeffrey richter和paul vick等的...