猎头公司应坚持的原则有seo网站优化代码
news/
2025/10/1 7:32:47/
文章来源:
猎头公司应坚持的原则有,seo网站优化代码,做国际物流在哪些网站找客户,微网站 前景表的优化1.定长与变长分离如 int,char(4),time核心且常用字段#xff0c;建成定长#xff0c;放在一张表#xff1b;而varchar,text,blob这种变长字段适合单放一张表#xff0c;用主键与核心表关联。2.常用字段和不常用字段要分离3.在 1 对多需要关联统计的字段上#xff…表的优化1.定长与变长分离如 int,char(4),time核心且常用字段建成定长放在一张表而varchar,text,blob这种变长字段适合单放一张表用主键与核心表关联。2.常用字段和不常用字段要分离3.在 1 对多需要关联统计的字段上添加冗余字段。列类型选择原则1.字段类型优先级 整型 date,time enum,char varchar blob,text2.够用就行不要慷慨大的字段浪费内存影响速度。3.尽量避免用NULL,NULL不利于索引需要特殊的字节来标注。Enum列的说明1.enum列在内部是用整型来存储的2.enum列和enum列想关联速度最快3.enum列比(var)char的弱势--在碰到与char关联时要转化要花时间4.优势---当char非常长时enum依然是整型固定长度当查询的数据量越大时。enum的优势越明显。索引优化B-tree索引myisam,innodb中默认使用B-tree索引。hash索引在memory表里默认使用hash索引。hash优缺点1.查询时间复杂度为O(1)。2.hash计算的结果是随机的在磁盘上也是随机放置。3.无法对范围查询进行优化4.无法利用前缀索引5.排序也无法优化6.必须回行就是说通过索引拿到数据位置必须回到表中取数据。在where条件常用的列上都加上索引若是独立的索引同时只能用上1个。若建立多列索引index(a,b,c)注意和顺序有关,索引发挥作用需要满足左前缀要求。索引在whereorder bygroup by 中会用上(满足左前缀要求)。多列索引在实际应用中更加实用注意在建立多列索引的时候要结合实际创建合理的索引。索引提高查询的速度、提高排序的速度、提高分组查询的速度。聚簇索引和非聚簇索引聚簇索引btreeinnodb引擎索引和数据是在一块的innodb直接在主键索引的树中储存行的数据(既存储了主键值又存储了行数据)。innodb次索引指向对主键的引用。优点根据主键查询条目比较少时不用回行(数据就在主键节点下)。缺点如果碰到不规则数据插入时造成频繁的页分裂。非聚簇索引btreemyisam引擎 索引和数据是分开的myisam索引指向行在磁盘上的位置myisam中主索引和次索引都指向物理行(磁盘位置)。索引覆盖如果查询的列恰好是索引的一部分那么查询只需要在索引文件上进行不需要回行到磁盘再找数据。索引与排序对于覆盖索引直接在索引上查就是有序的在innodb引擎上沿着索引的字段排序也是自然有序的对于myisam引擎按某索引字段排序但取出的字段包含有不是索引字段那么会先取出所有行再进行排序。先取出数据形成临时表做filesort文件排序(要尽可能避免)。争取目标取出来的数据本身就是有序的利用索引来排序。SQL语句优化SQL语句的时间花在等待时间、执行时间只有降低执行时间那其他语句锁定的时间也减少了SQL语句的执行时间又花在查找、取出如何查询快a)联合索引的顺序、区分度、长度 b)取得快索引覆盖 c)传输的少更少的行和列切分查询将数据拆成多次例插入10000条数据每1000条为单位插入分解查询按逻辑把多表连接查询分成多个简单SQL总结少查尽量精准数据少取行必须要查尽量走在索引上查询行取时取尽量少的列在group时用带有索引的列来group可以避免临时表和文件排序速度会稍快些另外用int型比char型分组也要快些在group时我们假设只取了A表的内容group by的列尽量用A表的列会比B表的列要快。order by的列要和group by 的列一致否则也会引起临时表因为两者都需要排序如果两者的列不一致那必须经过至少1次排序如何判断查询是否用到了索引查询方法 explain SQL \Gextra字段:using index 指用到了索引覆盖效率非常高using where指光靠索引还定位不到还得where判断一下using temporary:指用上了临时表group by 与 order by 不同列时或 group by 、order by 别的表的列时using filesort:文件排序文件可能在磁盘也可能在内存。子查询1.from型子查询注意内层from语句查到的临时表是没有索引的所以from的返回内容要尽量少需要排序在内层先排好序。2.in型子查询mysql的查询优化器针对in型优化被改成exists子查询的执行效果单行单行的执行过滤。当外层表越大时查询速度越慢。可以用连接查询来代替子查询。limit及翻页优化limit offsetN当offset非常大时效率很低因为mysql先取offsetN行返回放弃前offset行返回N行。优化办法1)从业务上去解决不允许翻过100页。例如百度一般能翻到70多页。2)不用offset用条件查询(ID上有索引)select * from tablename where id1000000 limit 2;3)只查索引不查数据得到ID再用ID去查具体条目(ID上有索引)这种技巧就是延迟关联select id,xxx,xxx from tablename inner join (select id from tablename limit 1000000,2 ) as tmp using(id);比下面直接查数据的方法快select id,xxx,xxx from tablename limit 1000000,2;
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/923602.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!