首页 > 编程知识 正文

mysql数据库缺点,sql server优缺点

时间:2023-05-05 19:00:57 阅读:24076 作者:1970

为什么要编制索引?

这是因为编制索引将大大提高系统的性能。

首先,通过创建唯一性索引,能够保证数据库表中各行的数据的唯一性。

第二,可以大大提高数据的检索速度。 这也是创建索引的最主要原因。

第三,可以加快表与表之间的连接,对实现数据的参考完整性特别有意义。

第四,使用分组和排序子句进行数据搜索也可以大大减少查询中分组和排序所需的时间。

第五,通过使用索引,可以在查询过程中使用优化的盲来提高系统性能。

既然添加索引有很多优点,为什么不为表中的每列创建索引呢? 这个想法有合理性,但也有片面性。 索引有很多优点,但向表中的每一列添加索引是不明智的。

这是因为增加索引也有很多不利的方面。

首先,索引的创建和维护需要时间,该时间随数据量的增加而增加。

第二,索引需要占用物理空间,除数据表占用数据空间外,每个索引还占用一定的物理空间。 创建集群索引时,所需的空间会变大。

第三,添加、删除和修改表中的数据时,索引也会动态维护,降低数据维护速度。

哪些字段适合创建索引:

索引是在数据库表的某些列上创建的。 因此,在索引时,必须仔细考虑可以在哪个列上索引,而不能在哪个列上索引。

通常,必须在以下列中创建索引:

第一,频繁需要搜索的列,可以加快搜索速度;

第二,对作为主键的列强制该列的唯一性和组织表中的数据的排列结构

第三,在连接中常用的列中,这些列主要是一些外键,可以加快连接的速度;

第四,根据范围对需要检索的列编制索引。 因为索引已经排序,指定的范围是连续的;

第五,索引到经常需要排序的列。 因为索引已经排序,所以查询可以利用索引排序来减少查询的排序时间。

第六,在WHERE子句中常用的列上建立索引,以加快条件的判断。

要创建索引,通常按照select的where条件创建。 例如,如果选择条件为wheref1andf2,则在字段f1或字段f2中创建简历索引将是无用的,并且仅在字段f1和f2中创建索引将是有用的,等等。

什么字段不适合创建索引:

同样,有些列不创建索引。 通常,这些不应该索引的列具有以下特征:

第一,不要在查询中很少使用或引用的列上创建索引。 这是因为这些列很少使用,因此有索引或没有索引。

无法加快查询速度。 相反,由于索引增加,系统维护速度降低,空间要求增加。

第二,对于数据值较少的列,也不应该增加索引。 这是因为这些列的可取值很少,如人力资源表中的性别列。

在查询结果中,结果集中的数据行占表中数据行的很大比例。 也就是说,需要在表中查找的数据行的百分比很大。

增加索引不会显著提高搜索速度。

第三,不要向定义为text、image和bit数据类型的列添加索引。 这是因为这些列的数据量相当大或值很少。

第四,如果修改性能远远大于搜索性能,就不应该编制索引。 这是因为修正性能和检索性能矛盾。

增加索引会提高搜索性能,但会降低修改性能。 减少索引会提高修改性能,降低搜索性能。

因此,如果修改的性能远远大于搜索的性能,请不要索引。

如何创建索引:

1、createindexontable_name (编制列列表等索引;

2、修改表格。 例如,altertabletable_nameaddindex[“索引名称”(列列表);

3、创建表时指定索引。 例如,createtabletable_name([.],INDEX[索引的名称)列的列表);

如何显示表中的索引:

showindexfromtable_name; 查看索引

索引类型和示例:

1 .主键索引mysqlaltertabletable _ nameaddprimarykey ` column `

2.UNIQUE或UNIQUEKEY (唯一索引) mysqlaltertabletable _ nameaddunique ) ` column ` '

3 .完整文本(全文索引) mysqlaltertabletable _ nameaddfulltext ) ` column ` )

4.INDEX (普通索引) mysqlaltertabletable _ nameaddindexindex _ name ) ` column ` )

5 .多列索引(集群索引) mysqlaltertable`table_name ) addindexindex_name ) ) column1`,` column2`,` column3` )

修改表中的索引: altertabletablenamedropprimarykey,addprimarykey(Fileda,filedb ) )。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。