什么是表分区?
表分区,是指根据一定规则,将数据库中的一张表分解成多个更小的,容易管理的部分。从逻辑上看,只有一张表,但是底层却是由多个物理分区组成。
横向分表和纵向分表,可以分别举一个适合他们的例子吗?
横向分表是按行分表.假设我们有一张用户表,主键是自增ID且同时是用户的ID.数据量较大,有1亿多条,那么此时放在一张表里的查询效果就不太理想.我们可以根据主键ID进行分表,无论是按尾号分,或者按ID的区间分都是可以的.
同时有多个事务在进行会怎么样呢?
多事务的并发进行一般会造成以下几个问题: 脏读: A事务读取到了B事务未提交的内容,而B事务后面进行了回滚. 不可重复读: 当设置A事务只能读取B事务已经提交的部分,会造成在A事务内的两次查询,结果竟然不一样,因为, 在此期间B事务进行了提交操作.
关心过业务系统里面的sql耗时吗?
在业务系统中,除了使用主键进行的查询,其他的我都会在测试库上测试其耗时,慢查询的统计主要由运维在做,会定期 将业务中的慢查询反馈给我们.
SQL约束有哪几种?
NOT NULL: 用于控制字段的内容一定不能为空(NULL)。UNIQUE: 控件字段内容不能重复,一个表允许有多个Unique约束。PRIMARY KEY: 也是用于控件字段内容不能重复,但它在一个表只允许出现一个。FOREIGN KEY: 用于预防破坏表之间连接的动作,也能防止非法数据插入外键列,因为它必须是它指向的那个 表中的值之一。