同步操作将从 Java精选/Ebooks 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
当MySQL单表记录数过大时,数据库的CRUD性能会明显下降,一些常见的优化措施:
1、限定数据的范围:务必禁止不带任何限制数据范围条件的查询语句。比如:我们当用户在查询订单历史的时候,我们可以控制在一个月的范围内。;
2、读/写分离:经典的数据库拆分方案,主库负责写,从库负责读;
3、缓存:使用MySQL的缓存,另外对重量级、更新少的数据可以考虑使用应用级别的缓存;
4、垂直分区
根据数据库里面数据表的相关性进行拆分。 例如用户表中既有用户的登录信息又有用户的基本信息,可以将用户表拆分成两个单独的表,甚至放到单独的库做分库。
简单来说垂直拆分是指数据表列的拆分,把一张列比较多的表拆分为多张表。
垂直拆分的优点:可以使得行数据变小,在查询时减少读取的Block数,减少I/O次数。此外,垂直分区可以简化表的结构,易于维护。
垂直拆分的缺点:主键会出现冗余,需要管理冗余列,并会引起Join操作,可以通过在应用层进行Join来解决。此外,垂直分区会让事务变得更加复杂;
5、水平分区
保持数据表结构不变,通过某种策略存储数据分片。这样每一片数据分散到不同的表或者库中,达到了分布式的目的。 水平拆分可以支撑非常大的数据量。
水平拆分是指数据表行的拆分,表的行数超过200万行时,就会变慢,这时可以把一张的表的数据拆成多张表来存放。
SQL中的连接查询分为3种,cross join(交叉连接)、inner join(内连接)和outer join(外连接)。
在cross join和inner join中,筛选条件放在on后面还是where后面是没区别的,在编写这两种连接查询的时候,只用on不使用where也没有什么问题。
on筛选和where筛选的差别只是针对outer join,也就是平时最常使用的left join和right join。
以左连接为例:
1、用on的时候,只对右表做筛选条件,而左表不受控制
2、用where的时候,对临时表的组合后的结果进行筛选,所以对左右表都是有作用的。
总的来说outer join的执行过程分为4步:
1、先对两个表执行交叉连接(笛卡尔积)
2、应用on筛选器
3、添加外部行
4、应用where筛选器
mysql_fetch_array()–将结果行作为关联数组或来自数据库的常规数组返回。
mysql_fetch_object()–从数据库返回结果行作为对象。
表分区,是指根据一定规则,将数据库中的一张表分解成多个更小的,容易管理的部分。从逻辑上看,只有一张表,但是底层却是由多个物理分区组成。
TINYTEXT
TEXT
MEDIUMTEXT
LONGTEXT
对查询频次较高,且数据量比较大的表建立索引。
索引字段的选择,最佳候选列应当从where子句的条件中提取。
使用唯一索引,区分度越高,使用索引的效率越高。
使用短索引,索引创建之后也是使用硬盘来存储的,因此提升索引访问的I/O效率。
利用最左前缀,N个列组合而成的组合索引,那么相当于是创建了N个索引。
1、一个表最多只能有1024个分区。
2、MySQL5.1中,分区表达式必须是整数,或者返回整数的表达式。在MySQL5.5中提供了非整数表达式分区的支持。
3、如果分区字段中有主键或者唯一索引的列,那么多有主键列和唯一索引列都必须包含进来。即:分区字段要么不包含主键或者索引列,要么包含全部主键和索引列。
4、分区表中无法使用外键约束。
5、MySQL的分区适用于一个表的所有数据和索引,不能只对表数据分区而不对索引分区,也不能只对索引分区而不对表分区,也不能只对表的一部分数据分区。
1、B+的磁盘读写代价更低。
B+的内部结点并没有指向关键字具体信息的指针,因此其内部结点相对B树更小。
如果把所有同一内部结点的关键字存放在同一盘块中,那么盘块所能容纳的关键字数量也越多。一次性读入内存中的需要查找的关键字也就越多。相对来说IO读写次数也就降低了。
2、B+-tree的查询效率更加稳定。
由于非终结点并不是最终指向文件内容的结点,而只是叶子结点中关键字的索引。所以任何关键字的查找必须走一条从根结点到叶子结点的路。所有关键字查询的路径长度相同,导致每一个数据的查询效率相当。
MySQL中是默认不支持emoji表情存储。
需要更换数据库表中字符集utf8-->utf8mb4。
非聚集索引也称为Secondary Index。指的是非叶子节点按照索引的键值顺序存放,叶子节点存放索引键值以及对应的主键键值。
MySQL里除了INNODB表主键外,其他的都是二级索引。MYISAM、memory等引擎的表索引都是非聚集索引。简单点说,就是索引与行数据分开存储。一张表可以有多个二级索引。
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。