xiguaapp xiguaapp
4年前
如何设计一个数据库?
设计两个大模块,存储(文件系统)与程序的实例模块。程序的实例模块划分为:存储管理,缓存机制,SQL解析,日志管理,权限划分,容灾机制,索引管理,锁管理。为什么使用索引?假设使用原始的全表查询,那么对于小量数据可能速度并没有影响,但是在大量数据的情况下会使得速度很慢。而索引,则类似于字典中的偏旁部首,加快了查询的效率。二叉
Wesley13 Wesley13
3年前
mysql三种锁
不使用索引CREATETABLEtest1(idint(11)DEFAULTNULL,namevarchar(255)DEFAULTNULL)ENGINEInnoDBDEFAULTCHARSETutf8;!(https://osc
Wesley13 Wesley13
3年前
MySQL调优系列——MySQL B+Tree索引和Hash索引的区别?🔥
1、BTree索引!(https://oscimg.oschina.net/oscnet/upd956cc992de6df62c8502441583bb210ea4.png)1、BTree首先是有序结构,为了不至于树的高度太高,影响查找效率,在叶子节点上存储的不是单个数据,提高了查找效率;为了更好的支持
Easter79 Easter79
3年前
TiDB Pre
8月30日,TiDB发布PreGA版。该版本对MySQL兼容性、SQL优化器、系统稳定性、性能做了大量的工作。TiDB:SQL查询优化器调整代价模型优化索引选择,支持不同类型字段比较的索引选择支持基于贪心算法的JoinReorder
Wesley13 Wesley13
3年前
MySQL索引(二)B+树在磁盘中的存储
MySQL索引(二)B树在磁盘中的存储回顾!w200(https://oscimg.oschina.net/oscnet/bb8c395de7ffd25b8826c09d6cfe97ebbc0.jpg)上一篇文章《MySQL索引为什么要用B树》(https://www.oschina.
Wesley13 Wesley13
3年前
MySQL ORDER BY主键id加LIMIT限制走错索引
背景及现象report\_product\_sales\_data表数据量2800万;经测试,在当前数据量情况下,orderby主键id,limit最大到49的时候可以用到索引report\_product\_sales\_data\_hq\_code\_orgz\_id\_index,大于49时就走PRIMARY主键索引。
Wesley13 Wesley13
3年前
MySQL · 性能优化 · MySQL常见SQL错误用法
1\.LIMIT语句分页查询是最常用的场景之一,但也通常也是最容易出问题的地方。比如对于下面简单的语句,一般DBA想到的办法是在type,name,create\_time字段上加组合索引。这样条件排序都能有效的利用到索引,性能迅速提升。SELECTFROMoperationWHEREty
Wesley13 Wesley13
3年前
Sql优化技巧
1.对查询进行优化,应尽量避免全表扫描,首先应考虑在where及orderby涉及的列上建立索引。2.应尽量避免在where子句中对字段进行null值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:selectidfromtwherenumisnull可以在num上设
Wesley13 Wesley13
3年前
Mysql面试的技术名词
面试的技术名词面试一般会遇到一些名词,其实可能自己都知道其中的道理,但是因为没了解过,当时心里就一句WC,然后弱弱答一句:不好意思这个我只是听过,具体还没了解过;回表覆盖索引最左前缀匹配索引下推1、回表所谓的回表就是因为普通索引的叶子节点中存储的不是行数据而是主键的值,然后通过主键值
Stella981 Stella981
3年前
Django的全文检索
我们曾经愉快的使用HaystackWhoosh作为全文检索引擎,可伴随着数据的增加,我们毫无意外的遇到了性能问题。检索时间从毫秒级一下子跌入秒级,常常一个检所需要数秒钟才能返回。而且一旦我们要对索引内容进行调整,而不得不全部重建索引,只能等待数个小时才能建好。为了解决这个问题,我们考察了众多的方案,并最终决定使用xapain替换Whoosh。考察过