数据库
shuzhou12
这个作者很懒,什么都没留下…
展开
-
mysql优化
建表优化 避免设计可为NULL的列,这会使mysql处理索引处理更麻烦,但是在调优时没必要优先优化这个问题。 使用合适的数据类型,例如存储整数较小时可以使用tinyint,varchar选择合适的长度 关联列选择相同的数据类型 数据量比较大时使用索引已经不起作用,可以使用分区,根据分区函数或者某个字段进行分区。 索引优化 查询语句优化 避免使用select *,尽量利用覆盖索引避免查表...原创 2020-03-29 21:56:19 · 121 阅读 · 0 评论 -
高性能mysql读书笔记六 mysql高级特性
分区表 分区表的原理 分区表的类型 如何使用分区表 分区的问题 查询优化 字符集和校对翻译 2020-03-25 12:53:11 · 108 阅读 · 0 评论 -
高性能mysql读书笔记五 优化查询
查询执行过程 通信协议 查询线程状态 查询缓存 优化器 mysql如何执行关联查询 排序优化 查询执行引擎 返回结果给客户端 查询优化器的局限性 关联子查询 Union的限制 Min()和Max()优化 在同一个表上查询和更新 优化特定类型的查询 优化count() 优化关联...翻译 2020-03-25 12:10:44 · 115 阅读 · 0 评论 -
高性能mysql读书笔记四 创建高性能索引
索引的类型 B-Tree索引 小技巧: 查询条件中的范围条件放在最后,否则范围条件之后的条件无法使用索引。 Hash索引 全文索引 索引的优点 高性能索引策略 独立的列 前缀索引和索引选择性 多列索引 聚簇索引 覆盖索引 使用索引排序 索引和锁 ...翻译 2020-03-24 22:56:16 · 95 阅读 · 0 评论 -
高性能mysql读书笔记三 Schema与数据类型优化
避免使用NULL 数据类型 整数类型 实数类型 字符串类型 日期和时间类型 位数据类型(略) 关联列选择相同数据类型 特殊类型数据 优化Alter Table ...翻译 2020-03-24 16:39:11 · 137 阅读 · 0 评论 -
高性能mysql读书笔记二 服务器性能剖析
性能剖析概述 剖析应用程序 剖析mysql服务器负载 记录慢日志 分析慢日志 生成剖析报告 剖析报告例子 剖析单条查询 ...翻译 2020-03-23 22:35:19 · 176 阅读 · 0 评论 -
高性能Mysql读书笔记一 概述
mysql逻辑架构 并发控制 事务 MVCC (Mutil-Version Concurrency Control) 存储引擎 InnoDB MyISAM翻译 2020-03-23 21:40:25 · 109 阅读 · 0 评论 -
彻底解决mysql中文乱码
mysql是我们项目中非常常用的数据型数据库。但是因为我们需要在数据库保存中文字符,所以经常遇到数据库乱码情况。下面就来介绍一下如何彻底解决数据库中文乱码情况。1、中文乱码1.1、中文乱码create table user(name varchar(11)); # 创建user表insert into table user("carl"); # 添加数据select * fr...转载 2018-07-04 09:56:52 · 177 阅读 · 0 评论 -
mysql优化之 ORDER BY Optimization
Use of Indexes to Satisfy ORDER BY在某些情况下,MySQL可以使用索引来满足ORDER BY子句,以避免执行filesort操作时涉及的额外排序。如果所有未使用的索引部分和所有额外的ORDER BY字段,在WHERE子句中都是和常量比较,那么即使ORDER BY字段与索引不完全匹配,也可以使用索引。假设(key_part1,key_part2)上有索引。以下查询将...翻译 2018-06-18 16:14:10 · 420 阅读 · 0 评论 -
mysql优化之Outer Join Simplification
在很多情况下,查询的FROM子句中的表达式被简化了。在解析阶段,具有右外连接操作的查询将转换为仅包含左连接操作的查询。在一般情况下,转换是这样进行的:、所有形式为T1 INNER JOIN T2 ON P(T1,T2)的内联接表达式都被替换为T1,T2列表,以及作为WHERE条件的P(T1,T2)。当优化器评估外连接执行计划时,它只考虑对于每个这样的操作,在内表之前访问外部表的情况。优化器的选择是...翻译 2018-06-17 22:57:06 · 918 阅读 · 0 评论 -
mysql优化之Nested Join Optimization
在MySQL中,CROSS JOIN在语法上等同于INNER JOIN;他们可以互相取代。但是在标准的SQL中,它们不是等价的。 INNER JOIN与ON子句一起使用;否则就使用CROSS JOIN。通常,在仅包含内连接操作的连接表达式中可以忽略括号。更确切地说,我们不能忽略left out join操作的右操作数和right join操作的左操作数中的括号。换句话说,我们不能忽略外连接操作的内...翻译 2018-06-17 10:45:38 · 553 阅读 · 0 评论 -
sql优化之Index Merge Optimization
The Index Merge access method(索引合并访问方法)检索满足多个 range scans的rows并将其结果合并为一个。此访问方法只支持合并对单个表的索引扫描;它不会合并涉及多个表的扫描。合并可能原始rows的并集、交集等。索引合并访问方法有几种算法,这些算法显示在 EXPLAIN 输出的Extra字段中:Using intersect(...)Using union(....翻译 2018-06-16 21:39:57 · 562 阅读 · 0 评论 -
sql优化之Range Optimization
1、The Range Access Method for Single-Part Indexes single-part索引的范围条件定义如下:不管是BTREE还是HASH索引,使用=,<=>,IN(),IS NULL或IS NOT NULL运算符将索引字段与常量值的比较都是一个 range conditions(范围条件)。另外,对于BTREE索引,当使用>,<,>...翻译 2018-06-16 12:09:03 · 1328 阅读 · 0 评论 -
mysql select语句优化之GROUP BY Optimization
实现GROUP BY子句的最常用方法是扫描整个表并创建一个新的临时表,其中每个组中的所有行都是连续的,然后使用此临时表来查找组并应用聚合函数(如果有)。在某些情况下,MySQL可以做得比这更好,通过使用索引访问避免创建临时表。使用GROUP BY索引的最重要前提条件是,所有GROUP BY列引用的属性来自同一索引,并且这个索引按顺序存储keys (例如,BTREE索引而不是HASH索引)。是否可以...翻译 2018-06-21 23:23:16 · 914 阅读 · 0 评论 -
主流Java数据库连接池比较及前瞻
主流数据库连接池常用的主流开源数据库连接池有C3P0、DBCP、Tomcat Jdbc Pool、BoneCP、Druid等C3p0: 开源的JDBC连接池,实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。目前使用它的开源项目有Hibernate、Spring等。单线程,性能较差,适用于小型系统,代码600KB左右。DBCP (Database Connection Pool...转载 2018-05-28 13:13:00 · 211 阅读 · 0 评论