MySQL
0山外山0
这个作者很懒,什么都没留下…
展开
-
MySQL MyISAM存储引擎
在 MySQL 5.1 及之前的版本,MyISAM 是默认的存储引擎。MyISAM 提供了大量的特性,包括全文索引、压缩、空间函数(GIS)等,但 MyISAM 不支持事务和行级锁,而且有一个毫无疑问的缺陷是崩溃后无法安全恢复。MyISAM 回将表存储在两个文件中:数据文件和索引文件,分别以 .MYD 和 .MYI 为扩展名。MyISAM 表可以包含动态或者静态(长度固定)行。MyISAM 特性加...原创 2018-02-26 10:00:58 · 196 阅读 · 0 评论 -
MySQL InnoDB存储引擎
InnoDB 是 MySQL 的默认事务型引擎,也是最重要、使用最广泛的存储引擎。它被设计用来处理大量的短期(short-lived)事务,短期事务大部分情况是正常提交的,很少回被回滚。InnoDB 的性能和自动崩溃恢复特性,使得它在非事务型存储的需求中也很流行。除非有非常特别的原因需要使用其他的存储引擎,否则应该优先考虑 InnoDB 引擎。InnoDB 的数据存储在表空间(tablespace...原创 2018-02-24 15:34:01 · 673 阅读 · 0 评论 -
Mysql进阶:mysql分页性能优化
方式1: select * from table order by id limit m, n; m越大,查询的性能会越低(越后面的页数,查询性能越低),因为MySQL同样需要扫描过m+n条记录。 方式2: select * from table where id > #max_id# order by id limi...转载 2018-02-02 14:15:32 · 172 阅读 · 0 评论 -
MySQL并发内部处理机制——多版本并发控制(MVCC)
MySQL 的大多数事务性存储引擎实现的都不是简单的行级锁。基于提升并发性能的考虑,一般实现了多版本并发控制(MVCC)。Oracle等其他数据库也实现了MVCC,但各个数据库MVCC的实现标准并不一致。可以认为MVCC是行级锁的一个变种,但是它在很多情况下避免了加锁操作,因此开销更低。它实现了非阻塞的读操作,写操作也只锁定必要的行。MVCC 的实现,是 通过保存呢数据在某个时间点的快照来实现的。...原创 2018-02-12 13:30:50 · 676 阅读 · 0 评论 -
springmvc+mybatis+shardingsphere(shardingjdbc)实现数据库(mysql)读写分离架构
在存在大量读操作的场景,可以采用数据库读写分离的机制来加快查询速度。mysql本身就支持多服务实现读写分离,而springmvc要实现可以自己写读写分离的代码实现,其基本原理就是采用aop原理,拦截特定的自定义注解方法,通过不同的参数调用不同的数据源,这个网上有很多例子。如果是已经存在的系统改造或者自己不想写代码,也可以采用已经成熟的框架,本人使用的是sharding-sphere的shardin...原创 2018-06-12 10:45:29 · 9825 阅读 · 7 评论 -
Java高级工程师常见面试题(八)-数据库MySql
1. MySql的存储引擎的不同存储引擎查看MySQL给开发者提供了查询存储引擎的功能,我这里使用的是MySQL5.1,可以使用:SHOW ENGINES如果要想查看数据库默认使用哪个引擎,可以通过使用命令:SHOW VARIABLES LIKE 'storage_engine';来查看,查询结果为:在MySQL中,不需要在整个服务器中使用同一种存储引擎,针对具...原创 2019-06-03 14:57:11 · 4074 阅读 · 0 评论