Microsoft SQL Server

非官方MS SQL Server 2019,2017,2016,2014,2012,2008 R2,2008,2005,2000版本对照表。

发布版本
RTM
累积更新
SQL Server 2019
SQL Server 15
SQL Server 2017
SQL Server 14
14.0.1000.169
(CU17 Latest)14.0.3238.1
SP1
SP2
SP3
SP4
SQL Server 2016
SQL Server 13
13.0.1601.5
13.0.4001.0
13.1.4001.0
13.0.5026.0
13.2.5026.0
SQL Server 2014
SQL Server 12
12.0.2000.8
12.0.4100.1
12.1.4100.1
12.0.5000.0
12.2.5000.0
12.0.6024.0
12.3.6024.0
SQL Server 2012
SQL Server 11
11.0.2100.60
11.0.3000.0
11.1.3000.0
11.0.5058.0
11.2.5058.0
11.0.6020.0
11.3.6020.0
11.0.7001.0
11.4.7001.0
SQL Server 2008 R2
SQL Server 10.5
10.50.1600.1
10.50.2500.0
10.51.2500.0
10.50.4000.0
10.52.4000.0
10.50.6000.34
10.53.6000.34
SQL Server 2008
SQL Server 10
10.0.1600.22
10.0.2531.0
10.1.2531.0
10.0.4000.0
10.2.4000.0
10.0.5500.0
10.3.5500.0
10.0.6000.29
10.4.6000.29
SQL Server 2005
SQL Server 9
9.0.1399.06
9.0.2047
9.0.3042
9.0.4035
9.0.5000
SQL Server 2000
SQL Server 8
8.0.194
8.0.384
8.0.532
8.0.760
8.0.2039

MongoDB 索引

索引通常能够极大的提高查询的效率,如果没有索引,MongoDB在读取数据时必须扫描集合中的每个文件并选取那些符合查询条件的记录。这种扫描全集合的查询效率是非常低的,特别在处理大量的数据时,查询可以要花费几十秒甚至几分钟,这对网站的性能是非常致命的。索引是特殊的数据结构,索引存储在一个易于遍历读取的数据集合中,索引是对数据库表中一列或多列的值进行排序的一种结构

createIndex() 方法

语法

createIndex()方法基本语法格式如下所示:

>db.collection.createIndex(keys, options)

语法中 Key 值为你要创建的索引字段,1 为指定按升序创建索引,如果你想按降序来创建索引指定为 -1 即可。

实例

>db.testdb1.createIndex({"title":1})

createIndex() 方法中你也可以设置使用多个字段创建索引(关系型数据库中称作复合索引)。

>db.testdb1.createIndex({"title":1,"description":-1})

createIndex() 接收可选参数,可选参数列表如下:

参数
类型
描述
background
Boolean
建索引过程会阻塞其它数据库操作,background可指定以后台方式创建索引,即增加 “background” 可选参数。 “background” 默认值为false。
unique
Boolean
建立的索引是否唯一。指定为true创建唯一索引。默认值为false.
name
string
索引的名称。如果未指定,MongoDB的通过连接索引的字段名和排序顺序生成一个索引名称。
sparse
Boolean
对文档中不存在的字段数据不启用索引;这个参数需要特别注意,如果设置为true的话,在索引字段中不会查询出不包含对应字段的文档.。默认值为 false.
expireAfterSeconds
integer
指定一个以秒为单位的数值,完成 TTL设定,设定集合的生存时间。
v
index version
索引的版本号。默认的索引版本取决于mongod创建索引时运行的版本。
weights
document
索引权重值,数值在 1 到 99,999 之间,表示该索引相对于其他索引字段的得分权重。
default_language
string
对于文本索引,该参数决定了停用词及词干和词器的规则的列表。 默认为英语
language_override
string
对于文本索引,该参数指定了包含在文档中的字段名,语言覆盖默认的language,默认值为 language.

实例

在后台创建索引:

db.testdb1.createIndex({"title":1,"description":-1}, {background: true})

通过在创建索引时加 background:true 的选项,让创建工作在后台执行

1、 查看当前sql-mode

select @@sql_mode;
MySQL @@sql_mode

2、设置 sql-mode

拷贝原来的值,移除 NO_ZERO_IN_DATENO_ZERO_DATE 两项即可

SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';

3、使新的 sql-mode 生效

FLUSH PRIVILEGES;