您的位置:首页 > 其它

视图、索引、触发器、存储过程……

2015-07-03 00:00 281 查看
索引:

索引的选取原则:最适合的索引列是出现在where条件语句中的列、索引列的长度应该尽量小(因为索引也是需要占据内存空间的,在更新表的记录的时候索引也要自动更新,这些都是需要时间消耗的),不要过度索引原因跟上述差不多。对于InnoDE存储引擎的表,记录默认会按照一定的顺序保存,如果有明确主键则会按主键保存,没有主键则按照索引来保存。InnoDE表的普通索引都会保存主键的键值,所以主键应该尽可能选择较短的数据类型,以有效减少索引的磁盘占用,提高索引的缓存效果。

BTREE索引和HASH索引:适用的场合不同,这个不必过多的复述了。需要主意的是有些存储引擎在创建索引的时候默认的索引类型不同,在使用的时候需要注意。

视图:

一种虚拟存在的表,对于用户来说是透明的。创建视图的时候的约束:Cascaded必须满足所有针对该视图的所有视图的条件才可以更新,local则只要满足本视图条件就可以更新,默认为Cascaded。显示视图也用指令:show tables.查看视图定义:show create view viewName

存储过程和函数:

是事先经过编译并存储在数据库中的一段SQL语句集合,可以简化应用开发人员很多工作,减少数据在数据库和应用服务器之间的传输,提高数据处理的效率。函数必须有返回值而存储过程没有。

触发器:

Mysql数据库对同一个表相同时间的相同触发事件只能定义一个触发器。用别名new和old来引用触发器中发生变化的记录内容

SQL Mode:

不同的SQL Mode定义了MySQL支持的SQL语法、数据校验等,方便在不同的环境中使用MySQL。MySQL组合模式在异构数据库之间数据迁移中经常用到

数据库安全控制:

自主存取控制(DAC):用户可以强制自主的控制数据访问的授权。

强制存取控制(MAC):每个主体(人)和客体(表、数据)都有一个敏感度标记,当主体的许可证级别大于等于客体的时候,该主体才能读取数据。只有主体级别等于客体的时候才能写相应的数据。无论如何复制,标记和数据都是一个不可分割的整体。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: