数据库部分刷题知识总结(三)

1.关于数据库索引:
1)索引不会影响表的删除操作效率(错! 如果要删除的字段与建立索引的字段相同,删除效率会提高,如果不同,效率降低。)
2)对于只有很少数据值的列,不应该创建索引;
3)全表扫描不一定比使用索引的执行效率低;
Ps:如果使用索引,每次查询数据,将对磁盘进行一次读取。也就是说,查询数据条目数等于磁盘读取数。如果进行全表扫描,对磁盘的读取数,取决于数据块的大小。当遇到想读取的数据量比较大的时候,索引读取给磁盘造成的负担将会远大于全盘读取对磁盘造成的负担,而读存磁盘的速率正是当前总速率的瓶颈。
4)主键一定包含一个唯一索引;
Ps:首先主码就是主键,其次候选码是可以标识一个元组的最小属性集合。举个例子来说,有一个表格【城市名、街道名、邮政编码、商铺】,在这里【城市名、街道名】、【邮政编码、街道名】都是候选码,而主码可以从他们两个中挑选一个,可以是前者,也可以是后者。候选码可以有多个,主码只能有一个。主码只有一个,不允许有空值,它一定包含一个不含空值的索引。
2.SQL中
增加列:alter table tableName add columnName varchar (30)
删除列:alter table tableName drop column columnName
3.手机应用开发常用的数据库是sqlite。

相关推荐