- 博客(6)
- 收藏
- 关注
原创 mysql计数器的优化
对mysql计数的一些优化CREATE TABLE hit_counter( cnt int unsigned not null )ENGINE =InnoDB;**每次点击之后都会更新计数器**UPDATE hit_counter SET cnt = cnt+1;问题:任何想要更新这一事务来说,都会产生全局互斥锁。解决:使用多行CREATE TABLE hit_counter(...
2019-03-15 15:37:05 200
原创 mysql数据类型优化
几个优化原则更小的数据类型通常更好,因为占用了更少的磁盘、内存、和cpu缓存简单数据类型,简单的数据类型需要更少的cpu周期。例如整型比字符型更好。因为字符集和校对规则使字符更加复杂。有两个例子,应该用mysql内建的类型而不是字符串来存储日期和时间。应该用整型来存储ip地址。尽量避免null,如果计划在列上建索引,就应该尽量避免呢设计可以成为null的列。ps.DATATIME和TIM...
2019-03-12 16:00:14 214
原创 mysql测试
测试指标吞吐量单位时间内事务处理数响应时间或延迟测试任务所需的时间并发性并发是任意时间有多少同时发生的请求,并发测试通常不是为了测试应用能达到的并发度,而是测试不同并发度下的性能。可扩展性增加一倍工作,吞吐量能否增加一倍。或是增加一倍资源(cpu数),吞吐量能增加多少。...
2019-03-11 15:02:16 499
原创 mysql的存储引擎
查询表的相关信息mysql会在数据库的子目录下创建一个和表同名.frm文件保存表的定义SHOW TABLE STATUS LIKE ‘user’显示的字段主要包含以下几个Engine:存储引擎Index_length:索引大小Data_free:已分配但还没有使用的空间…mysql的存储引擎MyISAMInnoDB表锁行锁,在不能确定扫描范围时,也会锁表.例...
2019-03-11 14:30:46 141
原创 mysql多版本并发控制MVCC
mvccinnodb的mvcc是通过在每行记录的后面保存两个隐藏的列来实现的,这两个列一个保存行的创建时间,一个保存行的过期时间。但是并不是存储时间而是存储版本号,每开始一个新的事务,版本号会自动递增。事务开始时刻的系统版本号会作为事务的版本号,用来和查询到每行记录的版本号进行比较。repeatable read隔离级别下的mvcc操作过程。SELECT innoDB会根据以下两个条件查询...
2019-03-11 13:42:44 378
原创 mysql事务
Mysql服务器逻辑架构图最上层不是Mysql所独有的,大多数客服端/服务端工具都有类似架构。比如连接处理,授权认证,安全等。大多数mysql核心服务都在这一层,包括查询解析,分析,优化,缓存以及所有的内置函数(例如,日期,时间,数学和加密函数等)。所有跨存储引擎的功能都在这一层实现:存储过程、触发器、视图等存储引擎。事务的四个特性:原子性(Atomicity)一个事务必须被视...
2019-03-10 14:58:13 111
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人