发表于: 2018-04-01 06:55:54
1 435
今天完成的事情:
步骤8(导出sql表:右击表名,导出向导,选择SQL脚本文件,选择导出路径,选择全部栏位,勾选包含标题,开始收集导出数据,开始导出)(删除记录:delete from student where Id=1)(恢复记录:表右击运行SQL文件,点击开始)
步骤9,1.主键本身就是索引+不允许空值,不需要另加;2.外键指向另一个表的主键,需要加索引,在MYSQL上会自动加上索引,不需要特地设置;3.学号频繁作为查询条件的字段应该创建索引应该加;
步骤10(alter table student drop index Name_column,加索引。)
加索引以后
(create index Name_column on student (Name))
不加索引以后
加索引以后,效率相对较快。
11.暂时对数据库理解还不够深,等完成任务一再回来补上
明天计划的事情:步骤12-16
遇到的问题:对数据库理解表深,导致很难理解一部分搜索到的内容
收获:
索引类型:
普通索引:最基本的索引,没有任何限制
唯一索引:与"普通索引"类似,不同的就是:索引列的值必须唯一,但允许有空值。
主键索引:它 是一种特殊的唯一索引,不允许有空值。
全文索引:仅可用于 MyISAM 表,针对较大的数据,生成全文索引很耗时耗空间。作用于CHAR、VARCHAR、TEXT数据类型的列。
组合索引:为了更多的提高mysql效率可建立组合索引,遵循”最左前缀“原则。创建复合索引
7、哪些情况需要创建索引
①主键自动建立唯一索引
②频繁作为查询条件的字段应该创建索引
③查询中与其他表关联的字段,外键关系建立索引
④频繁更新的字段不适合建立索引,因为每次更新不单单是更新了记录还会更新索引
⑤WHERE条件里用不到的字段不创建索引
⑥单键/组合索引的选择问题,(在高并发下倾向创建组合索引)(涉及到锁的概念)
⑦查询中排序的字段,排序的字段若通过索引去访问将大大提高排序速度
⑧查询中统计或者分组字段
索引的部分内容涉及到结构,为了帮助理解在搜索数据库的原理,知道了时间复杂度的概念0(n),n为数据的大小。索引的实质就是降低时间复杂度。知道了3种数据结构:
评论