网站建设需求填表,找谁做网站比较好,品牌设计的原则有哪些,湘潭网站建设湘潭振企专业mysql的逻辑分层#xff1a;连接层 服务层 引擎层 存储层引擎层主要分为两类#xff1a;InnoDB、MyIsam(使用show engines;查看)InnoDB是事务优先的#xff0c;会进行行锁#xff0c;适合高并发操作MyIsam是性能优先的#xff0c;进行表锁sql优化点#xff1a;等待时间长…mysql的逻辑分层连接层 服务层 引擎层 存储层引擎层主要分为两类InnoDB、MyIsam(使用show engines;查看)InnoDB是事务优先的会进行行锁适合高并发操作MyIsam是性能优先的进行表锁sql优化点等待时间长执行时间长性能低下多表连接查询服务器参数设置不合理(线程数、缓冲区)编写过程 select ... from ... join... on ... where ... group by ... having... order by...解析过程 from ... on ... join... where ...group by... having...select... order by...具体内容可以看步步深入MySQL架构总览-查询执行流程-SQL解析顺序 - AnnsShadoW - 博客园www.cnblogs.comsql优化主要是优化索引索引是一个高效查询数据的数据结构索引一般是一颗树(树b树或者hash树等)示例如下。索引的弊端也是有的索引本身需要空间可以存放内存或者硬盘内部索引在有的情况下不适用数据量少频繁更新的数据很少使用的字段索引会提高查询但是减低增删改效率(但是数据库的大部分操作是查询增删改较少)。优势提高查询效率(降低IO使用率)、降低CPU使用率(...order by xx desc直接在B树排好了)。B树在磁盘中的结构是怎么样的呢三层Btree可以存放上百万条数据每一层可以超过两个分支。B树一般是值B树数据全部放到叶节点中B树中查询任意数据都是n次(n为树的高度)。B树与B树的区别可以看以下文章https://blog.csdn.net/login_sonata/article/details/75268075blog.csdn.net索引的分类单值索引(单列一个表可以有多个单值索引)、唯一索引(不能重复)、复合索引(多个列构成的索引符合索引不一定是多个列全中)。第一种# 单值索引 create 索引类型 索引名 on 表(字段)create index dept_index on tb(dept);# 唯一索引create unique index name_index on tb(name);# 复合索引create index dept_name_index on tb(dept, name);第二种# alter table 表名 索引类型 索引名(字段)# 单值索引alter table tb add index dept_index(dept);# 唯一索引alter table tb add unique index name_index(name);# 符合索引alter table tb add index dept_name_index(dept, name);事务操作只对DML增删改有效DDL会自动提交。主键索引是唯一索引的一种但是主键索引不能为null。删除索引drop index 索引名 on 表名drop index name_index on tb;SQL优化问题1、分析SQL的执行计划explain。可以模拟SQL优化器优化SQL执行语句。2、mysql查询自动优化会干扰优化。explain一般返回这么几个字段idselect_typetype不过SQL执行计划不同版本不一样看具体版本不用纠结。这里用explain返回结果时id越大越先执行(本质是嵌套查询)id相同时顺序执行。select_typeprimary(主查询)、subquery(子查询)、simple(简单查询不包含子查询和union)、derived(衍生查询用到了临时表。在from子查询中只有一张表或者union前一个查询)type索引类型一般system const eq_ref ref range index all性能依次降低实际能达到ref range即可。前提是必须建立索引。这个理解即可。eq_ref查询结果1v1ref查询结果1vN(N0)range(where between, in等)其中in在查询数据在一半以上时退化为all或index。尽量避免使用inindex查某一索引字段的all全表所有字段或者没有索引的字段。下期讲索引优化方案。