当前位置: 首页 > news >正文

做会计要关注什么网站目前网站建设用哪种语言

做会计要关注什么网站,目前网站建设用哪种语言,企业展厅设计公司100%正品保障,skxy wordpressMYSQL数据库开发规范(一) 建表规约1.【推荐】表达是与否概念的字段#xff0c;必须使用 is_xxx 的方式命名#xff0c;数据类型是 unsigned tinyint ( 1 表示是#xff0c;0 表示否)。说明#xff1a;任何字段如果为非负数#xff0c;必须是 unsigned。正例#xff1a;表…MYSQL数据库开发规范(一) 建表规约1.【推荐】表达是与否概念的字段必须使用 is_xxx 的方式命名数据类型是 unsigned tinyint ( 1 表示是0 表示否)。说明任何字段如果为非负数必须是 unsigned。正例表达逻辑删除的字段名 is_deleted1 表示删除0 表示未删除。2.【强制】表名、字段名必须使用小写字母或数字禁止出现数字开头禁止两个下划线中间只 出现数字。数据库字段名的修改代价很大因为无法进行预发布所以字段名称需要慎重考虑。说明MySQL 在 Windows 下不区分大小写但在 Linux 下默认是区分大小写。因此数据库 名、表名、字段名都不允许出现任何大写字母避免节外生枝。正例mer_categorypub_arealevel3_name反例mercategorypubarealevel_3_name3.【强制】表名不使用复数名词。说明表名应该仅仅表示表里面的实体内容不应该表示实体数量对应于DO类名也是单数形式符合表达习惯。4.【强制】禁用保留字如desc、range、match、delayed 等请参考 MySQL 官方保留字。5.【强制】主键索引名为 pk_字段名唯一索引名为 uniq_字段名普通索引名则为 idx_字段名。说明pk_ 即 primary keyuniq_ 即 unique keyidx_ 即 index 的简称。6.【强制】小数类型为 decimal禁止使用 float 和 double。说明float和 double 在存储的时候存在精度损失的问题很可能在值的比较时得到不正确的结果。如果存储的数据范围超过 decimal 的范围建议将数据拆成整数和小数分开存储。7.【强制】如果存储的字符串长度几乎相等使用char 定长字符串类型。8.【强制】varchar 是可变长字符串不预先分配存储空间长度不要超过 5000如果存储长度大于此值定义字段类型为 text独立出来一张表用主键来对应,避免影响其它字段索引效率。9.【强制】表必备三字段id、created_time、modified_time。说明其中 id 必为主键类型为 unsigned bigint、单表时自增、步长为1。created_time, modified_time 的类型均为timestamp(3) 类型精确到毫秒前者现在时表示主动创建后者过去分词表示被动更新,并且必须添加索引。is_deleted作为标识记录逻辑删除非必须字段1有效0删除默认为1(有效)如数据量增长过大可通过归档归档后在表中物理删除。正例create table tb_xxx (id bigint UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 主键id,created_time timestamp(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) COMMENT 创建时间,modified_time timestamp(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3) COMMENT 最后更新时间,is_deleted tinyint unsigned NOT NULL DEFAULT b0 COMMENT 删除标记(0、未删除 1、删除),PRIMARY KEY (id),key idx_created_time (created_time),key idx_modified_time (modified_time))ENGINEInnoDB DEFAULT CHARSETutf8 COMMENT**********;注update_time是按照当前时间自动更新业务尽量不要使用此字段使用此字段时慎重考虑10、【推荐】表的命名最好是加上“业务名称_表的作用”。正例mer_task/msg_project/mng_config11、【推荐】如果修改字段含义或对字段表示的状态追加时需要及时更新字段注释。12、【推荐】字段允许适当冗余以提高查询性能但必须考虑数据一致。冗余字段应遵循 1)不是频繁修改的字段。2)不是 varchar 超长字段更不能是 text 字段。正例商品类目名称使用频率高字段长度短名称基本一成不变可在相关联的表中冗余存 储类目名称避免关联查询。13、【推荐】单表行数超过 500 万行或者单表容量超过 2GB才推荐进行分库分表。说明如果预计三年后的数据量根本达不到这个级别请不要在创建表时就分库分表。14、【参考】合适的字符存储长度不但节约数据库表空间、节约索引存储更重要的是提升检索速度。正例无符号值可以避免误存负数且扩大了表示范围。(二) 索引规约【强制】业务上具有唯一特性的字段即使是多个字段的组合也必须建成唯一索引。说明不要以为唯一索引影响了insert 速度这个速度损耗可以忽略但提高查找速度是明显的另外即使在应用层做了非常完善的校验控制只要没有唯一索引必然有脏数据产生。【推荐】尽量避免多表关联。需要 join 的字段数据类型必须绝对一致多表关联查询时 保证被关联的字段需要有索引。说明即使双表join也要注意表索引和SQL性能。【强制】页面搜索严禁左模糊或者全模糊如果需要请走搜索引擎来解决。说明索引文件具有 B-Tree 的最左前缀匹配特性如果左边的值未确定那么无法使用此索引。【推荐】如果有 order by 的场景请注意利用索引的有序性。order by 最后的字段是组合索引的一部分并且放在索引组合顺序的最后避免出现 file_sort 的情况影响查询性能。正例where a? and b? order by c; 索引a_b_c反例索引中有范围查找那么索引有序性无法利用如WHERE a10 ORDER BY b; 索引 a_b 无法排序。【推荐】利用覆盖索引来进行查询操作避免表查询。说明如果一本书需要知道第 11 章是什么标题会翻开第 11 章对应的那一页吗目录浏览 一下就好这个目录就是起到覆盖索引的作用。正例能够建立索引的种类主键索引、唯一索引、普通索引而覆盖索引是一种查询的一种效果用explain 的结果extra列会出现using index。【推荐】利用延迟关联或者子查询优化超多分页场景。说明MySQL 并不是跳过 offset 行而是取 offsetN 行然后返回放弃前 offset 行返回 N 行那当 offset 特别大的时候效率就非常的低下要么控制返回的总页数要么对超过特定阈值的页数进行 SQL改写。正例先快速定位需要获取的id 段然后再关联SELECT a.* FROM 表 1 a, (select id from 表 1 where 条件 LIMIT 100000,20 ) b where a.idb.id【推荐】SQL 性能优化的目标至少要达到 range 级别要求是 ref 级别如果可以是 consts 最好。说明1)consts 单表中最多只有一个匹配行(主键或者唯一索引)在优化阶段即可读取到数据。2)ref 指的是使用普通的索引(normal index)。3)range 对索引进行范围检索。反例explain 表的结果typeindex索引物理文件全扫描速度非常慢这个 index 级别比较 range 还低与全表扫描是小巫见大巫。【推荐】建组合索引的时候区分度最高的在最左边。正例如果 where a? and b? a 列的几乎接近于唯一值那么只需要单建 idx_a 索引即 可。说明存在非等号和等号混合判断条件时在建索引时请把等号条件的列前置。如where a? and b? 那么即使 a 的区分度更高也必须把 b 放在索引的最前列。【推荐】防止因字段类型不同造成的隐式转换导致索引失效。【参考】创建索引时避免有如下极端误解1)宁滥勿缺。认为一个查询就需要建一个索引。2)宁缺勿滥。认为索引会消耗空间、严重拖慢更新和新增速度。3)抵制惟一索引。认为业务的惟一性一律需要在应用层通过“先查后插”方式解决。(三) SQL 语句【强制】不要使用 count(列名)或 count(常量)来替代 count(*)count(*)是 SQL92 定义的 标准统计行数的语法跟数据库无关跟 NULL 和非 NULL 无关。说明count(*)会统计值为 NULL 的行而 count(列名)不会统计此列为 NULL 值的行。【强制】count(distinct col) 计算该列除 NULL 之外的不重复行数注意 count(distinct col1, col2) 如果其中一列全为 NULL那么即使另一列有不同的值也返回为 0。【强制】当某一列的值全是 NULL 时count(col)的返回结果为 0但 sum(col)的返回结果为 NULL因此使用 sum()时需注意。正例可以使用如下方式来避免sum的问题SELECT IF(ISNULL(SUM(g)),0,SUM(g)) FROM table;【强制】使用 ISNULL()来判断是否为 NULL 值。说明NULL 与任何值的直接比较都为 NULL。1) NULLNULL 的返回结果是 NULL而不是 false。2) NULLNULL 的返回结果是 NULL而不是 true。3) NULL1 的返回结果是 NULL而不是 true。【强制】在代码中写分页查询逻辑时若 count 为0应直接返回避免执行后面的分页语句。【强制】不得使用外键与级联一切外键概念必须在应用层解决。说明 以学生和成绩的关系为例学生表中的 student_id是主键那么成绩表中的 student_id 则为外键。如果更新学生表中的student_id同时触发成绩表中的 student_id 更新即为级联更新。外键与级联更新适用于单机低并发不适合分布式、高并发集群级联更新是强阻塞存在数据库更新风暴的风险外键影响数据库的插入速度。【强制】禁止使用存储过程存储过程难以调试和扩展更没有移植性。【强制】数据订正时删除和修改记录时要先 select避免出现误删除确认无误才能执行更新语句。【推荐】in 操作能避免则避免若实在避免不了需要仔细评估 in 后边的集合元素数量控制在 100 个之内。【参考】如果有全球化需要所有的字符存储与表示均以 utf-8 编码注意字符统计函数 的区别。说明SELECT LENGTH(轻松工作) 返回为 12SELECT CHARACTER_LENGTH(轻松工作) 返回为 4如果需要存储表情那么选择 utfmb4 来进行存储注意它与 utf-8 编码的区别。如有字段特殊需求请在字段中制定(ALTER TABLE table_name MODIFY COLUMN order_no varchar(128) CHARACTER SET ascii NOT NULL COMMENT ************;)【参考】TRUNCATE TABLE 比 DELETE 速度快且使用的系统和事务日志资源少但 TRUNCATE 无事务且不触发 trigger有可能造成事故故不建议在开发代码中使用此语句。说明TRUNCATE TABLE 在功能上与不带 WHERE 子句的 DELETE 语句相同。
http://www.pierceye.com/news/613231/

相关文章:

  • 批量 网站标题中海园林建设有限公司网站
  • 鲜花网站数据库建设免费律师咨询
  • 团队网站建设哪家便宜制作公司网站流程
  • 青龙桥网站建设企业网页是什么
  • 上海网站建设备案号怎么恢复法律咨询网站开发
  • 烟台做网站价格动力网站建设
  • 北戴河网站建设墨刀制作网页教程
  • 成都网站设计开发做得好微信商城怎么开发
  • 江西省城乡建设培训网-官方网站上海建设集团有限公司
  • 凡科网站设计模板grimhelm wordpress
  • 自己做的网站不备案行吗建筑工程集团有限公司
  • 网站初期 权重怎么做彩票类网站开发
  • 南通网站定制公司服务器网站建设维护合同
  • 亳州做商标网站的公司免费的网站模板
  • 西南城乡建设部网站首页python3做网站教程
  • 网站首页设计欣赏个人电影网站建设
  • 导航网站建设怎么给网站图片加alt
  • 备案成功后怎么建设网站宠物喂养网页设计模板以及代码
  • 东莞哪家网站建设比较好wordpress更改语言设置
  • 如何找做网站的客户wordpress适合视频网站吗
  • 网站建设的业务流程图拔萝卜视频播放在线观看免费
  • 建个网站要多少钱高安网站制作
  • dw设计模板百度ocpc如何优化
  • 苏宁网站优化与推广html教程网站
  • 怎么做网站网页免费高清屏幕录像
  • 网络推广哪个网站好亚马逊网站开发使用的什么方式
  • 佛山企业网站建设咨询怎么从零开始做网站
  • dede移动端网站源码中国能建设计公司网站
  • 潍坊网站建设多少钱做网站seo优化
  • 南昌网站建设方案外包怎么自己做网站凑钱