继续回答星球水友提问:沈老师,我听网上说,MySQL数据表,在数据量比较大的情况下,主键不宜过长,是不是这样呢?这又是为什么呢?这个问题嘛,不能一概而论:(1)如果是InnoDB存储引擎,主键不宜过长;(2)如果是MyISAM存储引擎,影响不大;先举个简单的栗子说明一下前序知识。假设有数据表:t(idPK,nameKEY,sex,flag);其中:(1)id是主键;(2)name建了普通索引;假设
分类:
数据库 时间:
2020-11-10 11:33:03
阅读次数:
12
继续回答星球水友提问。沈哥,我们有个业务,类似于“标题分词检索”,并发量非常大,大概20W次每秒,数据量不是很大,大概500W级别,而且数据不会频繁更新,平均每天更新一次,请问有什么好的方案么?这是一个典型的,短文本分词搜索的问题,简单聊聊自己的经验。常见的文本检索方案有哪些?(1)数据库LIKE法将标题数据存放在数据库中,使用like来查询,方案非常简单,能支持简单的模糊搜索,但不支持分词。画外
分类:
其他好文 时间:
2020-11-10 11:31:19
阅读次数:
7
一、基本概念概念一:单库概念二:分片分片解决“数据量太大”这一问题,也就是通常说的“水平切分”。一旦引入分片,势必面临“数据路由”的新问题,数据到底要访问哪个库。路由规则通常有3种方法:(1)范围:range优点:简单,容易扩展。缺点:各库压力不均(新号段更活跃)。(2)哈希:hash优点:简单,数据均衡,负载均匀。缺点:迁移麻烦(2库扩3库数据要迁移)。(3)统一路由服务:router-conf
分类:
数据库 时间:
2020-11-10 11:28:38
阅读次数:
11
上篇《缓冲池(bufferpool),彻底懂了!》介绍了InnoDB缓冲池的工作原理。简单回顾一下:(1)MySQL数据存储包含内存与磁盘两个部分;(2)内存缓冲池(bufferpool)以页为单位,缓存最热的数据页(datapage)与索引页(indexpage);(3)InnoDB以变种LRU算法管理缓冲池,并能够解决“预读失效”与“缓冲池污染”的问题;画外音:细节详见《缓冲池(bufferp
分类:
其他好文 时间:
2020-11-10 11:28:25
阅读次数:
7
all < index < ref < eq_ref < const(system) < Null 全表 < index < 辅助索引 < 多表辅助索引 < primary key/unique < Null 查看使用的索引类型 desc select * from test; >>> 可能走的索引 ...
分类:
其他好文 时间:
2020-11-10 11:21:30
阅读次数:
6
Haystack 1.什么是Haystack Haystack是django的开源全文搜索框架(全文检索不同于特定字段的模糊查询,使用全文检索的效率更高 ),该框架支持Solr,Elasticsearch,Whoosh, Xapian,搜索引擎它是一个可插拔的后端(很像Django的数据库层),所以 ...
分类:
其他好文 时间:
2020-11-10 11:17:18
阅读次数:
8
1. 导致性能下降的原因 数据过多 → 分库分表 索引(单值、复合)失效 → 索引建立 关联查询太多 Join // 设计缺陷、不得已的需求 → SQL 优化 服务器调优及各个参数设置(缓冲、线程数等)→ 调整 my.cnf 2. RE: Join 查询 3. 索引简介 3.1 是什么? 【官方定义 ...
分类:
其他好文 时间:
2020-11-10 10:52:16
阅读次数:
3
Single Field 单字段索引 示例文档:records { "_id": ObjectId("570c04a4ad233577f97dc459"), "score": 1034, "location": { state: "NY", city: "New York" } } 在单个字段上创建 ...
分类:
数据库 时间:
2020-11-10 10:51:59
阅读次数:
8
在你已经安装部署并允许MongoDB服务后,你必须要了解MongoDB的运行情况,并查看MongoDB的性能。这样在大流量得情况下可以很好的应对并保证MongoDB正常运作。 MongoDB中提供了mongostat 和 mongotop 两个命令来监控MongoDB的运行情况。 mongostat ...
分类:
数据库 时间:
2020-11-10 10:44:09
阅读次数:
9
MongoDB 使用 update() 和 save() 方法来更新集合中的文档。接下来让我们详细来看下两个函数的应用及其区别。 update() 方法 update() 方法用于更新已存在的文档。语法格式如下: db.collection.update( <query>, <update>, { ...
分类:
数据库 时间:
2020-11-10 10:35:54
阅读次数:
9