Elasticsearch通俗易懂介绍

一篇通俗易懂的介绍Elasticsearch的好文转载,原文详见底部

小史是一个非科班的程序员,虽然学的是电子专业,但是通过自己的努力成功通过了面试,现在要开始迎接新生活了。

随着央视诗词大会的热播,小史开始对诗词感兴趣,最喜欢的就是飞花令的环节。

阅读全文

mysql优化全面梳理

本文属于大纲,不叙述细节。涉及优化概念、库表设计、索引知识、sql语句优化、索引优化汇总、事务、锁等涵盖所有mysql知识点。

计算机/软件设计还属于知道不知道范畴,不属于懂不懂范畴,计算机软件相关专业(编程基础)的同学都能通过各种方式找到并知道每个章节的细节,并应用。

阅读全文

44-相关自增id说明

数据库系统作为一个可能需要 7*24 小时全年无休的服务,考虑这些边界是非常有必要的。每种自增 id 有各自的应用场景,在达到上限后的表现也不同:

  • 表的自增 id 达到上限后,再申请时它的值就不会改变,进而导致继续插入数据时报主键冲突的错误。
  • row_id 达到上限后,则会归 0 再重新递增,如果出现相同的 row_id,后写的数据会覆盖之前的数据。
  • Xid 只需要不在同一个 binlog 文件中出现重复值即可。虽然理论上会出现重复值,但是概率极小,可以忽略不计。

阅读全文

42-授权grant与flush

主要介绍了 MySQL 用户权限在数据表和内存中的存在形式,以及 grant 和 revoke 命令的执行逻辑。grant 语句会同时修改数据表和内存,判断权限的时候使用的是内存数据。因此,规范地使用 grant 和 revoke 语句,是不需要随后加上 flush privileges 语句的。

flush privileges 语句本身会用数据表的数据重建一份内存权限数据,所以在权限数据可能存在不一致的情况下再使用。而这种不一致往往是由于直接用 DML 语句操作系统权限表导致的,所以我们尽量不要使用这类语句。

阅读全文

41-快速的复制表

  • 物理拷贝的方式速度最快

    尤其对于大表拷贝来说是最快的方法。如果出现误删表的情况,用备份恢复出误删之前的临时库,然后再把临时库中的表拷贝到生产库上,是恢复数据最快的方法。但是,这种方法的使用也有一定的局限性:必须是全表拷贝,不能只拷贝部分数据;需要到服务器上拷贝数据,在用户无法登录数据库主机的场景下无法使用;由于是通过拷贝物理文件实现的,源表和目标表都是使用 InnoDB 引擎时才能使用。

阅读全文

36-临时表

  • 内存表与临时表

    内存表是引擎为memory的表,临时表可以使用各种引擎类型,比如采用InnoDB,写数据的时候写入磁盘,可以用memory引擎,写入内存。

阅读全文

35-join语句怎么优化

主要介绍Multi-Range Read 优化 (MRR)。这个优化的主要目的是尽量使用顺序读盘。

  • BKA 优化是 MySQL 已经内置支持的,建议你默认使用;
  • BNL 算法效率低,建议你都尽量转成 BKA 算法。优化的方向就是给被驱动表的关联字段加上索引;
  • 基于临时表的改进方案,对于能够提前过滤出小数据的 join 语句来说,效果还是很好的;

阅读全文

作者的图片

TsingChan

万事头开难,好开的始成功的一半。
软件工程。
践行目标管理,践行自动化降本提效,践行社会主义核心价值观。

IT IS ALL

中国.福建