-
表的垂直拆分 为了控制表的宽度可以进行表的垂直拆分 1.经常一起查询的列放到在一起 2.text,blob等大字段拆分到附加表中 表的水平拆分 为了控制表的大小可以进行表的水平拆分 1.通过主键hash key的操作查看全部
-
维护表结构 1.使用在线变更表结构的工具 2.同时对数据字典进行维护 3.控制表的宽度和大小查看全部
-
如何维护索引 1.索引并不是越多越好,过多的索引不但会降低写效率,而且会降低度的效率 2.定期维护索引碎片 3.在sql语句中不要使用强制索引关键字查看全部
-
建立索引查看全部
-
维护和优化要做什么 1.维护数据字典 2.维护索引 3.维护表结果 4.在适当的时候对表进行水平拆分或垂直拆分查看全部
-
为什么反范式化 1.减少表的关联数量 2.增加数据的读取效率 3.反范式化一定要适度查看全部
-
如何选择主键 1.区分业务主键和数据库主键 业务主键用于标识业务数据,进行表与表之间的关联。 数据库主键为了优化数据存储 2.根据数据库的类型,考虑主键是否要顺序增长 有些数据库是按主键的顺序逻辑存储的 3.主键的字段类型所占用空间要尽可能的小 对于使用聚集索引方式的存储的表,每个索引后都会附加主键的信息 避免使用外键约束 1.降低数据导入的效率 2.增加维护成本 3.虽然不建议使用外键约束,但是相关联的列上一定要建立索引。 避免使用触发器 1.降低数据导入的效率 2.可能会出现意想不到的数据异常 3.使业务逻辑变的复杂。 关于预留字段 1.无法准确的知道预留字段的类型 2.无法准确的知道预留字段中所存储的内容 3.严禁使用预留字段查看全部
-
char和varchar如何选择 原则: 1.如果列中要存储的数据程度差不多是一致的,则应该考虑用char 否则应该考虑用varchar 2.如果劣种的最大长度小于50byte,则一般也要考虑char 3.一般不易定义大于50te的char类型列。 decimal与float 如何选择 1.decimal用于存储精确数据,而float只能用于存储非精度数据。 2.由于float的存储空间开销一般比demimal小。 故非精度数据优先选择float 时间类型如何存储 1.使用int来存储时间字段的优缺点 优点:字段长度比达特time小 确定:使用不方便,要进行函数转换。 2.需要存储的时间粒度 年月日小时分秒周查看全部
-
以上选择原则主要是从下面两个角度去考虑: 1.在对数据进行比较(查询条件、join条件以及排序)操作时,同样的数据,字符处理往往比数字处理的慢 2.在数据库中,数据处理以页为单位,列的长度越小,利与性能的提高。 sqlserver 已8k为一页 mysql 默认是16k为一页。 磁盘的io,同时也优化了性能。查看全部
-
字段类型的选择原则查看全部
-
字段类型的选择原则: 列的数据类型一方面影响数据存储空间的开销,另一方面也会影响数据查询的性能。当一个列可以选择多种数据库类型时,应该优先考虑数字类型,其次是日期或二进制类型,最后是字符类型。对于相同级别的数据类型,应该优先选择占用空间小的数据类型。查看全部
-
表以及字段的命名规范 1.可读性原则 使用大写和小写来格式化的库对象名字以获得良好的可读性 例如:使用CustAddress 而不是custaddress 2.表意性原则 3.长名原则:尽可能少使用或者不使用缩写查看全部
-
mysql常用的存储引擎查看全部
-
常见的dbms系统: 商业数据库:oracle sqlserver 要考虑对应的成本 版权的费用 开源数据库:mysql、 pgsql 考虑对应的效率 对应的系统 开发所使用的语言 .net <==> sqlserver java<=>oracle 商业数据库更适合企业级项目 开源数据库:适用于物联网系统查看全部
-
物理设计要做什么 需求分析也好,逻辑分析也好,最终的目的是建立数据库的表结构。 1.选择合适的数据库管理系统 oracle、sqlserver、mysql 2.定义数据库、表以及字段的命名规范 3.根据所选的dbms系统选择合适的字段类型 不仅是要满足功能,更要考虑到对应的效率 4.反范式化设计查看全部
举报
0/150
提交
取消