嗨, 大家好: 网站在新年后正式开通,欢迎大家加入我们,共同维护一个良好氛围的中国技术社区。 欢迎举报不良帖子,欢迎提供建议。
我们的QQ群:136102234,欢迎进群找答案,里边会有很多资深的大师们。 point overflow

这是一份通用的mysql规范文档。

实际很有用。

希望能帮到你们!

asked 2016-04-06 17:23:15

jkant's gravatar image

jkant ♦♦
11135138139
accept rate: 3%


一. 建表需要注意:

  1. 适当的字段类型,类似ip之类的可以直接就用int就可以搞定,占用空间也小。 inet_aton('192.168.0.0')
  2. 字段大小,尽量选适合的字段大小。大了比较占用空间。
  3. 表结构,例如标签,子商品之类的存的1|2|3或者1,2,3之类的,在查询数据的时候不好处理,必须拿到字符串之后再查询一次,可以在建表的时候多放一个关系表。存放两者的id。
  4. 需要字段和表的注释,主要是为了方便查询和之后方便他人查找对应的数据。语法: Comment ‘注释’;
  5. 能不使用not null就不使用 ,oracle ‘’ 和null 一样,但是mysql需要额外的空间
  6. 表字符集统一使用utf8 ;在表最后加()default charset=utf8;
  7. 建表之后请邮件表结构抄送DBA
link

answered 2016-04-06 17:24:04

jkant's gravatar image

jkant ♦♦
11135138139
accept rate: 3%

二. 其他事项:

  1. 表别名,表别名统一采用下划线单词的开头第一个字母,列入ecs_order_info 别名就是eoi;如果是使用了相同的表,那么可以之后加1,2,3,例如ecs_region er1 er2 er3 ;如果首单词都相同,那么最后一个单词取2个字母,ecs_new_article_cat as enaca; ecs_new_article_comments as enaco。
  2. 字段别名。防止相同的字段出现,例如两个id,加别名区分字段。或者太长的或者函数也加个别名。使用时字段前最好加:别名.字段名。防止出现两个表相同字段出现,造成sql报错,从而程序出现bug。
  3. 大字段的类型,例如text或者比text大的尽量分开。将这个字段单独放一个表。
  4. 测试建表完成以后先给DBA发送个邮件。以便及时跟踪问题。避免上线之前才做修改,延误上线时间。
  5. 涉及订单,发货单以及商品的信息主表的,涉及的sql需要DBA测试效率, 这些数据比较多,避免卡死的情况。
  6. Like 方面,避免几个条件使用一个输入框,然后出现就会是多个 or like ‘%%’,效率自然不好。可以使用单个like ‘ X %’ ,确实需要的,联系DB 。
link

answered 2016-04-06 17:24:46

jkant's gravatar image

jkant ♦♦
11135138139
accept rate: 3%

Your answer
toggle preview

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here

By RSS:

Answers

Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text](http://url.com/ "Title")
  • image?![alt text](/path/img.jpg "Title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported

Tags:

×72
×7
×1
×1

Asked: 2016-04-06 17:23:15

Seen: 1,945 times

Last updated: 2016-04-06 17:24:46