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

WordPress 网站小图标用php做购物网站案例

WordPress 网站小图标,用php做购物网站案例,酷播wordpress,最近七天的新闻大事阿里 MySQL 规范 1. 建库建表规范 【推荐】库名与应用/服务名称尽量一致。 【强制】表名不使用复数名词。 说明#xff1a;表名应该仅仅表示表里面的实体内容#xff0c;不应该表示实体数量#xff0c;对应于DO类名也是单数形式#xff0c;符合表达习惯。 【推荐】表的…阿里 MySQL 规范 1. 建库建表规范 【推荐】库名与应用/服务名称尽量一致。 【强制】表名不使用复数名词。 说明表名应该仅仅表示表里面的实体内容不应该表示实体数量对应于DO类名也是单数形式符合表达习惯。 【推荐】表的命名最好是业务名词加上表的作用比如业务名称_表的作用 正例tiger_task / tiger_reader / mpp_config 【强制】表名、字段名必须使用小写字母或数字禁止出现数字开头禁止两个下划线中间只出现数字。 说明数据库字段名的修改代价很大因为无法进行预发布所以字段名称需要慎重考虑。 正例getter_admintask_configlevel3_name 反例GetterAdmintaskConfiglevel_3_name 【强制】禁用保留字如desc、range、match、delayed等请参考MySQL官方保留字。 【强制】建表必备字段id, created_time, updated_time。 说明其中id必为主键类型为bigint unsigned、单表时自增、步长为1。created_time, updated_time的类型均为date_time类型分别为记录创建时间和更新时间。 【强制】表达是与否概念的字段必须使用is_xxx的方式命名数据类型是unsigned tinyint 1表示是0表示否。 说明任何字段如果为非负数必须是unsigned。 正例表达逻辑删除的字段名is_deleted1表示删除0表示未删除。 【强制】小数类型存储为decimal禁止使用float和double。 说明float和double在存储的时候存在精度损失的问题很可能在值的比较时得到不正确的结果。如果存储的数据范围超过decimal的范围建议将数据拆成整数和小数分开存储。 【强制】如果存储的字符串长度几乎相等使用char定长字符串类型。 【强制】varchar是可变长字符串不预先分配存储空间长度不要超过5000 如果存储长度大于5000定义字段类型为text独立出来一张表用主键来对应避免影响其它字段索引效率。 【强制】主键索引名为pk_字段名唯一索引名为uk_字段名普通索引名则为idx_字段名。 说明pk_ 即primary keyuk_ 即 unique keyidx_ 即index的简称。 【推荐】如果修改字段含义或对字段表示的状态追加时,需要及时更新字段注释。 【推荐】字段允许适当冗余以提高查询性能但必须考虑数据一致。冗余字段应遵循 1不是频繁修改的字段。 2不是varchar超长字段更不能是text字段。 正例商品类目名称使用频率高字段长度短名称基本一成不变可在相关联的表中冗余存储类目名称避免关联查询。 【参考】为每个字段选择合适的类型和长度不但节约数据库表空间、节约索引存储更重要的是提升检索速度。 正例无符号值可以避免误存负数且扩大了表示范围。 2. 索引规范 【强制】业务上具有唯一特性的字段即使是多个字段的组合也必须建成唯一索引。 说明:不要以为唯一索引影响了insert速度这个速度损耗可以忽略但提高查找速度是明显的 另外即使在应用层做了非常完善的校验控制只要没有唯一索引根据墨菲定律必然有脏数据产生。 【强制】 超过三个表禁止join。需要join的字段数据类型必须绝对一致多表关联查询时保证被关联的字段需要有索引。 说明即使双表join也要注意表索引、SQL性能。 【强制】在varchar字段上建立索引时必须指定索引长度没必要对全字段建立索引根据实际文本区分度决定索引长度即可。 说明索引的长度与区分度是一对矛盾体一般对字符串类型数据长度为20的索引区分度会高达90%以上 可以使用count(distinct left(列名, 索引长度))/count(*)的区分度来确定。 【推荐】如果有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。 【推荐】利用延迟关联或者子查询优化超多分页场景。 说明对于 offset M, limit N 的查询 SQLMySQL并不是跳过M行而是取MN行然后返回放弃前M行返回N行那当offset特别大的时候效率就非常的低下。要么控制返回的总页数要么对超过特定阈值的页数进行SQL改写。 正例先快速定位需要获取的id段然后再关联 SELECT a.* FROM t_1 a, (select id from t_1 where 条件 LIMIT 100000,20 ) b where a.idb.id; 【推荐】 SQL性能优化的目标至少要达到range级别要求是ref级别如果可以是consts最好。 说明(1consts表示单表中最多只有一个匹配行主键或者唯一索引在优化阶段即可读取到数据。 2) ref 指的是使用普通的索引normal index。 3range 表示对索引进行范围检索。 反例explain表的结果typeindex索引物理文件全扫描速度非常慢这个index级别比较range还低与全表扫描是小巫见大巫。 【推荐】建组合索引的时候区分度最高的在最左边。 正例如果where a? and b? a列的区分度很高几乎没有重复的值那么只需要单建idx_a索引即可。 说明存在非等号和等号混合判断条件时在建索引时请把等号条件的列前置。如where a? and b? 那么即使a的区分度更高也必须把b放在索引的最前列。 【推荐】防止因字段类型不同造成的隐式转换导致索引失效。 【参考】创建索引时避免有如下极端误解 1宁滥勿缺。误认为一个查询就需要建一个索引。 2宁缺勿滥。误认为索引会消耗空间、严重拖慢更新和新增速度。 3抵制惟一索引。误认为业务的惟一性一律需要在应用层通过“先查后插”方式解决。 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()时需注意NPE问题。 正例可以使用如下方式来避免sum的NPE问题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更新则为级联更新。 外键与级联更新适用于单机低并发不适合分布式、高并发集群 级联更新是强阻塞存在数据库更新风暴的风险外键影响数据库的插入速度。 【推荐】尽量避免in操作如果不能避免需要控制元素数量在1000个之内。 【参考】如果有全球化需要所有的字符存储与表示均以utf-8编码注意字符统计函数的区别。 说明 SELECT LENGTH(“轻松工作”) 返回为12; SELECT CHARACTER_LENGTH(“轻松工作”) 返回为4 如果要使用表情那么使用utfmb4来进行存储注意它与utf-8编码的区别。 【参考】 TRUNCATE TABLE 比 DELETE 速度快且使用的系统和事务日志资源少但TRUNCATE无事务且不触发trigger。 说明TRUNCATE TABLE 在功能上与不带 WHERE 子句的 DELETE 语句相同。 【推荐】避免在条件判断中使用函数 说明在where中使用函数会导致无法使用索引。 【强制】严禁使用左模糊或者全模糊 说明索引文件具有B-Tree的最左前缀匹配特性如果左边的值未确定那么无法使用此索引。 【推荐】避免 select 不需要的 column 【推荐】如果可能使用inner join而不是outer join 【推荐】除非必要否则不要使用 distinct 和 union 4. ORM 映射 【强制】在表查询中一律不要使用 * 作为查询的字段列表需要哪些字段必须明确写明。 说明1增加查询分析器解析成本。 2增减字段容易与resultMap配置不一致。
http://www.w-s-a.com/news/57032/

相关文章:

  • 网站推广效果怎么样建设工程公司组织架构图
  • 成都制作网站价格表网站安全证书过期怎么办
  • 高校图书馆网站的建设方案湖南常德市
  • 房地产怎么做网站推广wordpress插件汉化下载
  • 一般pr做视频过程那个网站有无锡网络公司平台
  • 安徽网站推广系统网站根目录权限设置
  • 班级网站建设需求智慧校园登录入口
  • asp.net网站发布到虚拟主机电商设计网站哪个好
  • 做的网站怎么转成网址链接企业为什么要找会计
  • 关于建设网站的情况说明书文化建设方面的建议
  • 订票网站开发公司大通证券手机版下载官方网站下载
  • 网店美工的意义与发展佛山推广seo排名
  • 网站在建设中模板自助云商城
  • 珠海网站设计建建建设网站公司网站
  • 广州高端网站制作公司哪家好网页制作公司 软件
  • 最快做网站的语言百度站长反馈
  • 简单网站设计价格手机网站技巧
  • 什么颜色做网站显的大气网站建设的含盖哪方面
  • 没网站怎么做二维码扫描连接济南做网站推广哪家好
  • 台州建设规划局网站搞外贸一般是干什么的
  • 怎么提高自己网站的知名度电子商务是建网站
  • 官方查企业的网站办公用品网站建设策划书
  • 微信网站搭建哪家好网站中转页
  • 阿里巴巴网站开发是谁长沙自助模板建站
  • 阿里云网站方案建设书网络公司运营是干啥的
  • 南通seo网站排名优化nginx wordpress rewrite
  • 网站做成软件做内部网站费用
  • 浙江企业网站建设网站域名有了 网站如何建设
  • 学编程哪个机构有权威德州做网站优化
  • 最火的网站开发语言福州网站建设服务商