• 五个必须警惕的数据库设计错误


    每个人都会犯错误,但作为数据库管理员,我们应该尽量避免失误,从而为公司降低成本,并确保数据质量。下面的五个数据库设计失误必须引起我们的警惕。

    1.选择恰当的数据类型,避免数据库的过度膨胀

    请留意数据类型的选择。例如,如果你很清楚某列的数值范围在0-100,000之间,那么就不必使用BIGINT数据类型,因为INT类型就已经足够了。

    选择前者意味着,你每插入一条数据就比后者浪费了4个字节。这听起来也许微不足道,但随着数据量的增长,问题将会凸显出来。

    2.遵循ISO标准,保证异构数据库系统之间的互通性

    大型企业的IT基础架构非常复杂,可能需要不同数据库系统之间的数据交换。我们以TIMESTAMP数据类型为例,在Transact-SQL中定义的TIMESTAMP数据类型与ISO标准有所不同。其它的数据库系统与ISO标准也有所差别。所以,我们要尽可能地遵循ISO标准,以保证异构数据库系统之间的互通性。

    3.以恰当的机制实现序列化

    保证在数据库中插入记录的序列化非常有必要,许多数据库设计者通过各种机制来确保序列化的应用。一些数据库设计者喜欢在数据库设计中引入GUID,但引入GUID并不是一个好的选择,这是因为GUID默认并非序列化的,使用GUID列作为主键和/或索引甚至会造成性能问题。

    4.创建索引时要将外键考虑在内

    如果你的数据库中已定义外键,那么在建立索引的时候就要多加留神了,要把这种情况纳入数据库设计的整体之中去。

    5.不要忽略与业务需求相关的候选键

    数据库设计者不应只将注意力放在代理键上,而忘却业务需求。显然,这对数据质量非常不利。如果你没有在与业务相关的候选键上建立任何约束或索引,可能会出现重复值。

    请远离上面的5个数据库设计失误吧,这会帮助你为公司节省成本,并提高数据质量。

    原文链接:Do You Make These 5 Database Design Mistakes?

  • 相关阅读:
    彻底解决Spring MVC 中文乱码 问题
    侯捷 c++面向对象程序设计
    folly学习心得(转)
    vcpkg —— VC++ 打包工具
    Windows下安装GCC
    Linux下编写 makefile 详细教程
    侯捷stl学习笔记链接
    《Effective C++(第三版)》-笔记
    CentOS 7 安装Boost 1.61
    Windbg查看w3wp进程占用的内存及.NET内存泄露,死锁分析
  • 原文地址:https://www.cnblogs.com/ranzige/p/five_sql_error.html
Copyright © 2020-2023  润新知