1.数据库的设计
尽量把数据库设计的更小的占磁盘空间.
1).尽可能使用更小的整数类型.(mediumint就比int更合适).
2).尽可能的定义字段为not null,除非这个字段需要null.
3).如果没有用到变长字段的话比如varchar,那就采用固定大小的纪录格式比如char.
4).表的主索引应该尽可能的短.这样的话每条纪录都有名字标志且更高效.
5).只创建确实需要的索引。索引有利于检索记录,但是不利于快速保存记录。如果总是要在表的组合字段上做搜索,那么就在这些字段上创建索引。索引的第一部分必须是最常使用的字段.如果总是需要用到很多字段,首先就应该多复制这些字段,使索引更好的压缩。
6).所有数据都得在保存到数据库前进行处理。
7).所有字段都得有默认值。
8).在某些情况下,把一个频繁扫描的表分成两个速度会快好多。在对动态格式表扫描以取得相关记录时,它可能使用更小的静态格式表的情况下更是如此。

2.数据据优化
1).尽量使用长连接. (PHP开发这个最好不要使用, 占资源会死机的)
2).explain 复杂的SQL语句。
3).如果两个关联表要做比较话,做比较的字段必须类型和长度都一致.
4).LIMIT语句尽量要跟order by或者 distinct.这样可以避免做一次full table scan.
5).如果想要清空表的所有纪录,建议用truncate table tablename而不是delete from tablename.
6).能使用STORE PROCEDURE 或者 USER FUNCTION的时候.
7).在一条insert语句中采用多重纪录插入格式.而且使用load data infile来导入大量数据,这比单纯的indert快好多.
8).经常OPTIMIZE TABLE 来整理碎片.
9).还有就是date 类型的数据如果频繁要做比较的话尽量保存在unsigned int 类型比较快。

马克 2008-05-29 11:31 发表评论

转载于:https://www.cnblogs.com/ivwsai/archive/2008/05/29/1222197.html

数据库的设计(一些观点) _转相关推荐

  1. 数据库课程设计测试部分_实用的数据库设计,第1部分

    数据库课程设计测试部分 在本系列文章中,我将讨论一些特别有用的常规最佳实践. 其中没有任何内容是特定于任何供应商的产品的,因此,无论使用哪种数据库实现,所有内容都应适用. 在本文的第一部分中,我想讨论 ...

  2. mysql数据库课程设计机房管理系统_基于web的机房管理(完整源码+论文全套+教学视频)...

    实现一个web的机房管理, 也就是说可以基于浏览器来进行各种数据信息的管理功能, 也可以认为是一个B/S架构的机房管理的系统,系统分为前后台,实现了能够进行线上操作, 进行机房管理各项功能,实现了诸如 ...

  3. access数据库窗体设计实验报告_来自窗体控件的数值条件(VBA)

    来自窗体控件的数值条件使用方法. 如果要根据用户的决定更改操作的_criteria_参数, 可以指定条件来自窗体上的控件. 例如,可以指定来自于含有"雇员ID"的文本框控件的 cr ...

  4. 数据库课程设计矿大_管理信息系统课程设计样本.pdf

    管理信息系统课程设计样本 小组成绩: -- <校园二手书服务系统> -- <校园二手书服务系统> 小组名称:进行时 小组名称:进行时 专业年级:人 12 级 力 2 专业年级: ...

  5. access数据库窗体设计实验报告_大学Access数据库实验报告

    姓名 学号 班级 实验题目: Access 数据库和表的创建 授课教师 上机指导教师 实验目的: 1 . 熟悉 Access2003 的操作界面及常用操作方法. 2 . 掌握创 access 2003 ...

  6. 数据库课程设计结论_结论

    数据库课程设计结论 Living in the Pacific Northwest, the intertwined issues of salmon survival and river flow ...

  7. MySQL数据库搜题_智慧树知到_MySQL数据库设计与应用_搜题公众号

    智慧树知到_MySQL数据库设计与应用_搜题公众号 更多相关问题 阅读理解. This is the twin's(双胞胎的) room. It's a nice room. The two beds ...

  8. mysql数据库设计与应用答案智慧树_知到智慧树_MySQL数据库设计与应用_答案完整...

    知到智慧树_MySQL数据库设计与应用_答案完整 更多相关问题 [B11]A.carry onB.linger onC.set inD.log in 数据库的三级模式结构中,模式也称为A.逻辑模式B. ...

  9. his使用mysql_知到智慧树_MySQL数据库设计与应用_答案全部

    知到智慧树_MySQL数据库设计与应用_答案全部 更多相关问题 He was crossing over to _____ side of the road when I saw him. A.oth ...

最新文章

  1. cv::convertTo
  2. python导入matplotlib出错_解决导入matplotlib的RuntimeError: Python is not installed as a framework....
  3. 2017-6-3 jQuery 事件 DOM操作
  4. lisp pl线线段数_vlisp每日源码(标注多段线线长)
  5. boost::safe_numerics模块实现混合类型产生令人惊讶的结果的测试程序
  6. WD强势出击 推出全球业界首款2TB硬盘
  7. 助力苏州、星火相传,广苏两地微软技术俱乐部交流纪实
  8. C语言数组相似度比对,某课程设计---文件相似度判断
  9. ATmega16 单片机 AVR单片机 多路温度采集系统
  10. linux查看本机ip地址
  11. 【CS231n】斯坦福大学李飞飞视觉识别课程笔记(六):线性分类笔记(上)
  12. Python:实现doomsday末日算法(附完整源码)
  13. 腾讯地图标记点击事件
  14. 淘宝会不会毁了携程?
  15. 实战项目:设计实现一个流程编排框架(分析)
  16. Delphi--Delphi资源
  17. Spring boot 配置健康检查
  18. 日加满:践行企业责任 公益暖心之旅
  19. BZOJ2687 交与并/BZOJ2369 区间【决策单调性优化DP】【分治】
  20. yyyy-MM-dd HH:mm:ss.SSS中大小写的解释

热门文章

  1. 5、kafka的操作
  2. linux服务之git
  3. OSI七层模型具体解释
  4. alteon ad3 配置
  5. ntfs分区对linux的局限,如何使Linux支持NTFS分区
  6. shell判断false_Python中的True, False条件判断
  7. Modern CSV中文版
  8. 在dos下用csc命令编译,提示“csc不是内部或外部命令,也不是可运行的程序... ”
  9. django form和model的一些零碎知识
  10. MYSQL5.7 忘记ROOT密码/初始化ROOT密码