- 可缓存的view叫marerialize view)
- mainkey和unique index区别 unique index可以有多个。
- procejure提高性能
- sequence每次执行调next,主键自增一
- trigger,各种操作都能触发存储过程(存储过程失败将导致action失败)
- db link两个城市的数据库同步
- database transaction
- transaction是sql数据库和nosql的区别
- acid的概念原子性actomicity,一致性consistency,隔离性(isolation)多人同时修改时,互不影响,持久性durability.
- distributed transaction. 用dblink比较方便
- two phase commit:三张表都确定修改好了,然后才提交。万一有个没有ready,则回滚。
- 没有commit的记录,有dirty flag,数据库启动慢可能
- delete是trandaction(有保存逆操作),truckit快,因为没有备份
- 定义性语句是没有transaction的。create delete等
- 查询只有select for update支持transaction,执行后别人看不到的。
- dml支持transaction
- 数据库死锁:改变数据库多条记录操作,多人同时,互相影响,容易死。需要手动杀x,让数据库会滚。
- 数据库性能依赖,1io,2memory,3cpu
- 数据库锁定一块硬盘区域(table space),使用中产生碎片。导致小表占大空间。要vacum
- table space:1,system table要用最快的硬盘,index用次好并和table分开,好并行。3,最烂硬盘放备份用的数据。
- 数据库大了,vacum会用到甚至一天时间
- table partition,一个表的记录按照地区分成多个表。(比如已知法语用户不会查英语区数据。也经常按时间分区。hash分区法。condition分区。???有没有创建partition的语句?
- index文件和btree什么关系。index比table大是常见的,查询快了,修改慢了。
commithash分区法
--
Sam 10:31 24/02/2017
云端数据库,目前使用性能,安全性都不看好。 amason现在有12个区。 nosql,no transaction,noacid,不保证数据不丢失,但不需要partition,不需要sharing。适合存放非核心数据(核心数据通常不会大) 大数据指上t的数据,传统数据无法handle时的nosql更像一种被迫选择。 --_ _ new sql 二合一的数据库,google2月刚release
--
Sam 11:28 24/02/2017
|
数据库集群方式1,shared data array(不用了)2,master-slave。3master-master所有数据写两遍(不好,数据错了不知道哪个错,真用也使用sync同步)
--
Sam 10:53 24/02/2017
|
--
Sam 10:54 24/02/2017
|