尽量不用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 2044在linux内部将cache分为2种: 1、write/rea ... -
mysql模拟队列
2013-05-14 13:42 1097-- 初始化数据 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 888引用:http://www.realzyy.com/?p=15 ... -
#mysql 笔记#索引长度限制
2013-03-18 12:11 854http://dev.mysql.com/doc/refman ... -
mysqldump简单使用
2013-01-21 15:27 0mysqldump -B或者--databases:备份指定数 ... -
linux经常登入登出mysql重复输入密码
2013-01-16 17:51 973经常登入、登出mysql,尤其是密码重新输入比较复杂时,使用& ... -
mysql存储过程实现行转列
2012-08-30 16:24 2144把表t_rows中的数据转换 ... -
mysql 判断字符串是否是数字
2012-07-12 10:21 3015查询表table_name中col_name(字符串类型)的值 ... -
[转载]drop 大表效率问题
2012-06-15 09:32 46http://www.mysqlops.com/2011/05 ... -
monyog安装文件
2012-03-26 16:29 1278monyog安装包,绿色版 -
linux sysbench+mysql
2012-02-16 17:25 0一、sysbench安装 tar -zxvf ... -
收藏的常用命令
2011-12-28 15:45 0--innobackup 备份到本机上并进行压缩 inn ...
相关推荐
硬式内镜的清洗消毒与灭菌技术规范综合了国内外相关领域的研究和技术进步,按照GB/标准制定,并融合了多个消毒供应中心的规范经验。规范明确了硬式内镜处理的基本要求,涵盖人员资质、建筑布局、设施耗材的选择、...
在C#编程中,遵循一定的规范和经验指导对于编写出高效、可读性强且易于维护的代码至关重要。本文将概述一些关键的C#编程规范,包括文件结构、命名约定以及程序集属性等。 首先,我们要关注的是.NET编码标准,这些...
检修要求和实践经验,确定补偿容量、选择接线、保护与控制、布置及安装方式。 1.0.4 并联电容器装置的设备选型,应符合国家现行的产品标准的规定。 1.0.5 并联电容器装置的设计,除应执行本规范的规定外,尚应符合...
1. 设计规范:硬件原理图设计中需要注意的一些事项,目的是使设计规范化,并通过将经验固化为规范的方式,避免设计过程中错误的发生,最终提高产品质量。 2. Cadence 平台 OrCAD Capture 原理图工具:《规范》制图...
很多新人在开始做UI设计的时候,往往对界面的一些尺寸规范不是十分清楚,很多时候都是凭借自己的感觉和经验去绘制界面,心里并没有一个清晰的概念,导致做出来的页面总是不那么尽如人意。本文整理汇总了最新的界面...
同时,这份规范也鼓励社区成员的参与,鼓励他们分享自己的经验和知识,共同维护和完善这一规范。 最后,文档的构建工具书栈(***)是一个在线文档构建平台,它不仅提供了文档编写、整理、归类等功能,还支持内容的...
Java语言规范和JVM规范是理解Java编程基础和高级特性的关键参考资料,它们定义了Java程序的语法、语义以及虚拟机的...无论是初学者还是经验丰富的开发者,都应该定期查阅这些规范,以保持对最新技术和最佳实践的了解。
C++编程规范 C++编程规范是一种详细的编程指南,旨在提高程序员的编程能力和软件质量。本书从编程老手与高手的误区开始,指出编程高手的误区和缺点,然后通过作者的个人经历,讲述了软件设计的基础知识和高质量程序...
as3开发 代码规范 经验总结·注意问题。
"FPGA宝贵实战经验及Verilog编程规范" 在FPGA设计中,规范是非常重要的。以下是业内人士总结的实战经验和Verilog编程规范,旨在提高设计效率和可重用性。 设计文档化 在设计开始之前,必须编写设计文档,记录设计...
华为编程规范作为业界知名的指导文档,结合了华为在软件工程领域的实践经验和最佳做法,对于程序员来说具有极高的参考价值。 首先,我们来探讨一下编程规范的重要性。编程规范不仅有助于降低因个人编码风格差异导致...
不管团队中有多少人,工程中所有的数据结构、资源、代码风格应该统一,如同是同一个人的作品 把资源从一个工程迁移到另一个工程不应该产生新的学习...本套规范根据诸多优秀经验编写,遵守它意味着可以少走很多弯路。
J2EE 规范也包括各种设计模式和设计思想,这些规范是更高级和抽象的,需要开发者具备一定的经验和智慧来驾驭。 J2EE 规范是一组完整的规范的集合,它提供了一个完整的解决方案,使得开发者可以更容易地开发和维护...
《BI项目开发规范-来自于...这份规范不仅对初学者提供了指导,也为经验丰富的开发者提供了优化和提升的依据。通过遵循这些规范,开发者可以构建出更稳定、更高效的BI系统,从而更好地支持企业的决策分析和业务发展。
整个规范的制定过程中,广泛调研了近年来石油化工厂的设计经验,并吸收了国内外相关标准的内容,同时征求了设计、施工、生产等方面的意见。通过反复讨论主要问题,并经过审查定稿。在规范的实施过程中,如有需要修改...
一个压缩包完整版。 本书为框架设计师和广大开发人员设计高质量的软件...这些规范历经.NET框架三个版本的长期开发,凝聚了数千名开发人员的经验和智慧。微软的各开发组正在使用这些规范开发下一代影响世界的软件产品。
Java后端开发规范是指导Java开发者遵循的一套标准和最佳实践,旨在提高代码质量、可维护性、可扩展性和团队协作效率。...对于初学者和经验丰富的开发者来说,理解和遵循这些规范都是提高专业素养的重要步骤。
周立功高工的FPGA宝贵实战经验与FPGA编程规范
它们的价值不仅在于指导新手入门,更能帮助有经验的开发者养成良好的编码习惯,提升整个团队的技术水平和项目管理水平。遵循这些规范,能够显著降低沟通成本,提高开发效率,最终构建出高质量的前端应用。
无论是Java初学者,还是拥有丰富经验的高级开发者,都将从这两个规范中受益匪浅。它们为开发者提供了提升专业技能的路径,使得开发者能够编写出更加高效、可靠和安全的Java代码。 总结来说,深入学习JVM规范和Java...