![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据库
文章平均质量分 75
码农小石头
这个作者很懒,什么都没留下…
展开
-
ES、MongoDB、HBase的区别和使用场景
ES, MongoDB, HBase的区别和使用场景。原创 2023-04-04 15:13:00 · 915 阅读 · 0 评论 -
MySQL索引类型(type)分析
type索引类型system > const > eq_ref > ref > range > index > all优化级别从左往右递减,没有索引的⼀般为’all’。推荐优化目标:至少要达到 range 级别, 要求是 ref 级别, 如果可以是 const最好;index比all更优,但是并不明显,性能都很差。原创 2023-02-28 14:59:15 · 1716 阅读 · 0 评论 -
MYSQL 索引失效的十个场景(二)
mysql估计使用全表扫描要比使用索引快,则不使用索引。当表的索引被查询,会使用最好的索引,除非优化器使用全表扫描更有效。优化器优化成全表扫描取决与使用最好索引查出来的数据是否超过表的30%的数据。不要给'性别'等增加索引。如果某个数据列里包含了均是"0/1"或“Y/N”等值,即包含着许多重复的值,就算为它建立了索引,索引效果不会太好,还可能导致全表扫描。Mysql出于效率与成本考虑,估算全表扫描与使用索引,哪个执行快,会选择预估最优的方式(实际可能不是最优)原创 2023-02-25 08:00:00 · 534 阅读 · 0 评论 -
MYSQL 索引失效的十个场景(一)
对于or+score没有索引的这种情况,假设它走了name的索引,但是走到score查询条件时,它还得全表扫描,假如走索引也就是需要三步过程:全表扫描+索引扫描+合并。如果它一开始就走全表扫描,就只需一步;mysql的查询优化器,处于效率与成本考虑,遇到这种情况,明显全表扫描更合理。如果or条件的列都加了索引,索引有可能会走,也有可能不会走。原创 2023-02-24 08:30:00 · 445 阅读 · 0 评论 -
MySQL 索引
MySQL索引的建立对于MySQL的高效运行是很重要的,索引可以大大提高MySQL的检索速度。拿汉语字典的目录页(索引)打比方,我们可以按拼音、笔画、偏旁部首等排序的目录(索引)快速查找到需要的字。索引分。原创 2023-02-23 09:46:37 · 98 阅读 · 0 评论 -
MySQL 正则表达式
MySQL 同样也支持其他正则表达式的匹配, MySQL中使用 REGEXP 操作符来进行正则表达式匹配。下表中的正则模式可应用于 REGEXP 操作符中。原创 2023-02-23 08:00:00 · 88 阅读 · 0 评论 -
MySQL函数- 日期函数
MySQL 日期函数原创 2023-02-22 08:30:00 · 113 阅读 · 0 评论 -
MySQL函数- 数字函数
MySQL 数字函数原创 2023-02-22 08:00:00 · 125 阅读 · 0 评论 -
MySQL函数-字符串函数
MySQL 字符串函数原创 2023-02-21 16:06:13 · 234 阅读 · 0 评论 -
MYSQL查询语句执行顺序
FROM 子句中写在最后的表(基础表 driving table)将被最先处理,即最后的表为驱动表,当FROM 子句中包含多个表的情况下,我们需要选择数据最少的表作为基础表。如果FROM子句包含两个以上的表,则对上一个联接生成的结果表和下一个表重复执行步骤1~3,直到处理完所有的表为止。中的在SELECT中出现的列筛选出来,并对字段进行处理,计算SELECT子句中的表达式,产生虚拟表。表的基础上添加保留表中被过滤条件过滤掉的数据,非保留表中的数据被赋予NULL值,最后生成虚拟表。应用WHERE筛选器。原创 2023-02-21 08:00:00 · 396 阅读 · 0 评论 -
MySQL 运算符及优先级
MySQL 主要有以下几种运算符:算术运算符比较运算符逻辑运算符位运算符原创 2023-02-20 08:30:00 · 1311 阅读 · 0 评论 -
MySQL 数据类型
MySQL 支持多种类型,大致可以分为三类:数值、日期/时间和字符串(字符)类型。原创 2023-02-20 08:00:00 · 206 阅读 · 0 评论 -
MongoDB ObjectId
ObjectId结构ObjectId 是一个12字节 BSON 类型数据,有以下格式:前4个字节表示时间戳接下来的3个字节是机器标识码紧接的两个字节由进程id组成(PID)最后三个字节是随机数。MongoDB中存储的文档必须有一个"_id"键。这个键的值可以是任何类型的,默认是个ObjectId对象。在一个集合里面,每个文档都有唯一的"_id"值,来确保集合里面每个文档都能被唯一标识。MongoDB采用ObjectId,而不是其他比较常规的做法(比如自动增加的主键)的主要原因,因为在多个原创 2023-02-19 08:30:00 · 1128 阅读 · 0 评论 -
MongoDB 自动增长
MongoDB 没有像 SQL 一样有自动增长的功能, MongoDB 的 _id 是系统自动生成的12字节唯一标识。但在某些情况下,可能需要实现 ObjectId 自动增长功能。而MongoDB 并没有提供这个功能,那么可以通过编程的方式来实现_id字段自动增长。原创 2023-02-19 08:00:00 · 569 阅读 · 0 评论 -
MongoDB 使用规范与限制及最佳实践
MongoDB 灵活文档的优势灵活库/集合命名及字段增减同一字段可存储不同类型数据Json 文档可多层次嵌套文档对于开发而言最自然的表达MongoDB 灵活文档的烦恼数据库集合字段名千奇百怪同一字段数据类型各不一样业务异常可能写入“脏”数据原创 2023-02-18 08:30:00 · 1041 阅读 · 0 评论 -
MongoDB Map Reduce
Map-Reduce是一种计算模型,简单的说就是将大批量的工作(数据)分解(MAP)执行,然后再将结果合并成最终结果(REDUCE)。MongoDB提供的Map-Reduce非常灵活,对于大规模数据分析也相当实用。原创 2023-02-17 08:30:00 · 276 阅读 · 0 评论 -
MongoDB 全文检索
全文检索对每一个词建立一个索引,指明该词在文章中出现的次数和位置,当用户查询时,检索程序就根据事先建立的索引进行查找,并将查找的结果反馈给用户的检索方式。这个过程类似于通过字典中的检索字表查字的过程。MongoDB 从 2.4 版本开始支持全文检索,目前支持15种语言的全文索引。原创 2023-02-17 08:00:00 · 450 阅读 · 0 评论 -
MongoDB 正则表达式
正则表达式是使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。MongoDB 使用操作符来设置匹配字符串的正则表达式。MongoDB使用PCRE (Perl Compatible Regular Expression) 作为正则表达式语言。不同于全文检索,我们使用正则表达式不需要做任何配置。原创 2023-02-16 16:37:24 · 1131 阅读 · 0 评论 -
MongoDB 查询分析
MongoDB 查询分析可以确保我们所建立的索引是否有效,是查询语句性能分析的重要工具。MongoDB 查询分析常用函数有:explain()原创 2023-02-16 13:39:01 · 427 阅读 · 0 评论 -
MongoDB 覆盖索引查询
MongoDB 覆盖索引查询官方的MongoDB的文档中对覆盖查询做了说明:所有的查询字段是索引的一部分所有的查询返回字段在同一个索引中由于所有出现在查询中的字段是索引的一部分, MongoDB 无需在整个数据文档中检索匹配查询条件和返回使用相同索引的查询结果。因为索引存在于RAM中,从索引中获取数据比通过扫描文档读取数据要快得多。原创 2023-02-15 17:44:16 · 399 阅读 · 0 评论 -
MongoDB 聚合
MongoDB 聚合MongoDB 中聚合(aggregate)主要用于处理数据(诸如统计平均值,求和等),并返回计算后的数据结果。aggregate() 方法MongoDB中聚合的方法使用aggregate()。语法aggregate() 方法的基本语法格式如下所示:>db.COLLECTION_NAME.aggregate(AGGREGATE_OPERATION)原创 2023-02-14 18:03:44 · 335 阅读 · 0 评论 -
MongoDB 索引
MongoDB 索引索引通常能够极大的提高查询的效率,如果没有索引,MongoDB在读取数据时必须全集合扫描选取符合查询条件的记录。这种扫描全集合的查询效率是非常低的,特别在处理大量的数据时,查询可以要花费几十秒甚至几分钟,这通常时不可接收的。索引是特殊的数据结构,索引存储在一个易于遍历读取的数据集合中,索引是对数据库表中一列或多列的值进行排序的一种结构createIndex() 方法MongoDB使用 createIndex() 方法来创建索引getIndexes() 方法MongoDB使用原创 2023-02-14 17:41:54 · 315 阅读 · 0 评论 -
MongoDB 删除文档
MongoDB remove() 、deleteMany()、deleteOne()函数是用来移除集合中的数据。原创 2023-02-11 08:30:00 · 544 阅读 · 0 评论 -
MongoDB 更新文档
MongoDB 使用update()和save()方法来更新集合中的文档。原创 2023-02-11 08:00:00 · 499 阅读 · 0 评论 -
MongoDB 插入文档
MongoDB 使用 insert() 或 save() 方法向集合中插入文档,语法如下:db.COLLECTION_NAME.insert(document)或db.COLLECTION_NAME.save(document)save():如果 _id 主键存在则更新数据,如果不存在就插入数据。该方法新版本中已废弃,可以使用db.collection.insertOne()或db.collection.replaceOne()来代替。insert(): 若插入的数据主键已经存在,则会抛原创 2023-02-10 08:30:00 · 304 阅读 · 0 评论 -
MongoDB $type 操作符
$type操作符是基于BSON类型来检索集合中匹配的数据类型,并返回结果。MongoDB 中可以使用的类型如下表所示:类型 数字 备注Double 1 String 2 Object 3 Array 4 Binary data 5 Undefined 6 已废弃。Object id 7 Boolean 8 Date 9 Null 10 Regular Expression 11 JavaScript 13 Symbol 14 JavaScript (with scope)原创 2023-02-10 08:00:00 · 70 阅读 · 0 评论 -
MongoDB 排序
MongoDB sort() 方法在 MongoDB 中使用 sort() 方法对数据进行排序,sort() 方法可以通过参数指定排序的字段,并使用 1 和 -1 来指定排序的方式,其中 1 为升序排列,而 -1 是用于降序排列。原创 2023-02-09 08:30:00 · 1196 阅读 · 0 评论 -
MongoDB Limit与Skip方法
MongoDB Limit() 方法在MongoDB中读取指定数量的数据记录,可以使用MongoDB的Limit方法,limit()方法接受一个数字参数,该参数指定从MongoDB中读取的记录条数。MongoDB Skip() 方法除了可以使用limit()方法来读取指定数量的数据外,还可以使用skip()方法来跳过指定数量的数据,skip方法同样接受一个数字参数作为跳过的记录条数。原创 2023-02-09 08:00:00 · 1578 阅读 · 0 评论 -
MongoDB 查询文档
MongoDB 查询文档使用 find() 方法。find() 方法以非结构化的方式来显示所有文档。原创 2023-02-08 08:30:00 · 340 阅读 · 0 评论 -
MongoDB 概念解析
MongoDB 文档是一组键值(key-value)对(即 BSON)。MongoDB 的文档不需要设置相同的字段,并且相同的字段不需要相同的数据类型,这与关系型数据库有很大的区别,也是 MongoDB 非常突出的特点。原创 2023-02-08 08:00:00 · 53 阅读 · 0 评论 -
MySql NULL值处理
MySQL NULL 值处理:提供了三大运算符:IS NULL:当列的值是 NULL,此运算符返回 true。IS NOT NULL:当列的值不为 NULL, 运算符返回 true。:比较操作符(不同于 = 运算符),当比较的的两个值相等或者都为 NULL 时返回 true。原创 2023-02-07 08:30:00 · 674 阅读 · 0 评论 -
MySQL 数据类型
MySQL 数据类型MySQL 支持多种类型,大致可以分为三类:数值、日期/时间和字符串(字符)类型。原创 2023-02-07 08:00:00 · 179 阅读 · 0 评论 -
MongoDB查询某个时间范围
MongoDB 时间范围查询目前有两种方式:DateISODateMongoDB条件对应关系(>) 大于 - $gt(=) 大于等于 - $gte(原创 2023-01-31 14:47:24 · 17190 阅读 · 0 评论 -
MYSQL怎么判断字符串是否是纯数字
mysql怎么判断字符串是否是纯数字。原创 2023-01-12 11:50:49 · 946 阅读 · 0 评论