数据库索引

基础:
1.数据库的三范式:原子性、唯一性、不依赖性,是典型的时间换空间策略
2.char、varchar、int 区别
3.两种存储引擎的区别
4.主从复制流程以及作用
5.设计表一对一、一对多,多对多
6.
mysql查询时的书写顺序: select…from…where…group by…having…order by… mysql的执行顺序: from…where…group by…having…select…order by…

having和where的区别

7.join on,join left on,join right on ,union

8.存储过程与触发器的区别

创建:delimiter // create procedure pro( ) … end //

调用:call
删除:drop procedure pro;
创建:create trigger before … on … when
dorp trigger … on …
一张表复制到另一张表中,
当表不存在时:Create table new_table (select * from old_table);
当表存在时: insert into new_table select * from old_table

9.简单说一下drop、delete与truncate的区别
10.MySQL、MongoDB、Redis以及HBase的对比
11.
数据库的事物:
1.事物的四大特性(ACID):
原子性、一致性、隔离性、持久性
2.四大隔离级别:
脏读、不可重复读、幻读
Read uncommitted、Read commit、Repeatable read 、Serializable
3.事物并发会带来那些问题和解决办法
脏读、不可重复读、幻读,通过隔离级别来解决
丢失更新:回滚丢失(隔离级别解决)、覆盖丢失(锁和隔离级别解决)
4.锁:如何避免
数据库的锁:共享锁、排他锁
锁思想:悲观锁、乐观锁
锁现象:活锁、死锁

数据库索引:

  1. 什么是索引:
    a) 索引是用来快速寻找那些具有特定值的记录,MySQL中的索引都以B-树的形式保存,如果没有索引,执行查询时,MySQL会扫面整个表的所有记录,直到找到符合要求的记录,如果做为索引条件的列上创建了索引,MySQL无需扫面记录,可迅速找到目标记录位置。
  2. 索引的类型
    a) 普通索引:没有唯一性的限制,alert table tablename add index 索引名
    b) 唯一索引:索引列的值必须唯一,alert table tablename add unique[索引名] (列字段)
    c) 主键:主键唯一且不为空,一般在创建表时就指定,
    create table tablename ([],primary key(列名) auto_increament)
    alert table tablename add primary key not null
    d) 全文检索:在varchar或者text类型上创建,通过create table、create index、alert table命令创建
  3. 单列索引和多列索引:单列索引会先筛选出符合条件,多列索引比他要多几个筛选条件,返回结果。
  4. 最左索引:多列索引的一个优点,
  5. 选择索引列:可以考虑主要是两种,where和join子句中出现的列。MySQL只对比较类型的操作符才使用索引(<,<=,=,>,>=,BETWEEN,IN),like不是以%开头的模糊查询情形。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值