mysql
一只打酱油De篴
这个作者很懒,什么都没留下…
展开
-
mybatis 集成pagehelper 分页前查询总量方式,是包含原sql,在外面添加 select count(0) from();或者将查询的列替换为count(0).
项目线上随着业务量的增加,数据量增大,个别表上十万/百万,然后部分复杂sql就会变得很慢.并且发现了一个奇怪的问题. 有些sql通过 pagehelper 分页,查询总量时,将查询的列替换为count(0) 查询总量.例如: 原查询sql: getDemoList: select id, name, key_word, punch_time, salary_money, bonus_money, sex,原创 2020-10-14 17:12:07 · 3165 阅读 · 1 评论 -
高性能MySql第三版 阅读简记(3)
调用EXPLAIN 要使用EXPLAIN,只需在查询中的SELECT关键字之前增加EXPLAIN这个词。 例如: explain select * from demo; 认为增加EXPLAIN时MySQL不会执行查询,这是一个常见的错误。事实上,如果查询在FROM子句中包括子查询,那么MySQL实际上会执行子查询,将其结果放在一个临时表中,然后完成外层查询优化。它必须在...翻译 2020-04-30 16:51:22 · 229 阅读 · 1 评论 -
高性能MySql第三版 阅读简记(2)
第4章 Schema与数据类型优化 4.1 选择优化的数据类型 4.1.3 字符串类型 VARCHAR和CHAR类型 VARCHAR和CHAR是两种最主要的字符串类型。不幸的是,很难精确地解释这些值是怎么存储在磁盘和内存中的,因为这跟存储引擎的具体实现有关。下面的描述假设使用的存储引擎是InnoDB和/或者MyISAM。如果使用的不是这两种存储引擎,请参考所使用的存储引擎的文档。 先看看...翻译 2020-04-15 17:06:06 · 146 阅读 · 0 评论 -
高性能MySql第三版 阅读简记(1)
第4章 Schema与数据类型优化 4.1 选择优化的数据类型 MySQL支持的数据类型非常多,选择正确的数据类型对于获得高性能至关重要。不管存储哪种类型的数据,下面几个简单的原则都有助于做出更好的选择。更小的通常更好。 一般情况下,应该尽量使用可以正确存储数据的最小数据类型(1) 。更小的数据类型通常更快,因为它们占用更少的磁盘、内存和CPU缓存,并且处理时需要的CPU周期也更少。 但是...翻译 2020-04-15 16:50:30 · 212 阅读 · 0 评论 -
mysql 死锁问题
在线上发现了死锁问题,排查解决之后,根据其原因写了一个demo,记录一下。 一:DEMO代码 /** * 数据插入 */ @RequestMapping("/test3") @Transactional public void test3() { UEmployee uEmployee = new UEmployee(); ...原创 2019-05-14 10:42:09 · 474 阅读 · 0 评论