网站建站时间,怎么制作小程序,域名格式正确的是,电商培训机构有哪些哪家比较好开启慢查询日志 计入sqlshow variables like slow_query_log;//慢查询查看状态 OFF未开启 ON开启show variables like %log%;//没有使用索引的sql计入慢查询日志中set global log_queries_nor_using_indexes on;//开启log_queries_nor_using_indexes 为ON 记录未使用索引的查询…开启慢查询日志 计入sqlshow variables like slow_query_log;//慢查询查看状态 OFF未开启 ON开启show variables like %log%;//没有使用索引的sql计入慢查询日志中set global log_queries_nor_using_indexes on;//开启log_queries_nor_using_indexes 为ON 记录未使用索引的查询show variables like long_query_time;//超过多少时间就记录到慢查询中//开启慢查询set global slow_query_log on;//慢查询日志的位置show variables like slow%;left join :eft join是以A表的记录为基础的,A可以看成左表,B可以看成右表,left join是以左表为准的.换句话说,左表(A)的记录将会全部表示出来,而右表(B)只会显示符合搜索条件的记录(例子中为: A.aID B.bID).right join:和left join的结果刚好相反,这次是以右表(B)为基础的,A表不足的地方用NULL填充.inner join:这里只显示出了 A.aID B.bID的记录.这说明inner join并不以谁为基础,它只显示符合条件的记录.sql索引优化explain select 字段 from 表名 table 代表当前表type 显示类型 重要列 性能最好到最坏排序 const(主键唯一索引查找)eq_reg(范围查找),ref(一个表基于一个索引查找),range(基于索引范围查找),index(对索引的扫描),all(表扫描)possible_keys 当前表可用到的索引有哪些如果为null就是没有可能的索引key 实际使用的索引为null就是没有可能的索引key_len 使用索引的长度 越小越好ref 显示索引的哪一列被使用rows mysql必须检查用来返回请求的数据行数extra 返回值using filesort:查询需要优化mysql需要进行额外步骤文件排序进行优化using temporary 查询需要优化mysql需要创建一个临时表来存储结果sql优化例子 *Where查询条件on内外连接时候用,as作为别名,in查询某值是否在某条件里max优化方法查找最大的 最后的select max(字段data) from 表;优化方法在data上建立索引create index idx_data on 表(字段data) ;count优化方法:全部查找2006-2007的数量全部的数量优化方法select count(year2006 or year2007) from 表;查找2006-2007的分开的数量优化方法select count(year2006 or null),count(year2007 or null) from 表;子查询优化:select * from t where t.id in (select t1.tid from t1);优化方法 需要把子查询优化为join查询 join on 后边的条件只针对附表select t.id from t jion t1 on t.id t1.tid;去重distinctselect distinct t.id from t jion t1 on t.id t1.tid;group by查询select actor.first_name,actor.last_name, count(*) from filem_actor inner actor using(actor_id) group by filem_actor.actor_id;优化后group by查询select actor.first_name,actor.last_name,c.cnt from actor inner join (select actor_id,count(*)as cnt from film_actor group by actor_id ) as c using(actor_id);limit优化方法select film_id,dd from film order by title limit 600,5;//从第600行开始的5条记录优化后select film_id,dd from film where film_id 600 and film_id 605 oder by film_id limit 1,5;索引优化例子1在where从句group by从句order by从句on从句中出现的列2索引字段越小越好3离散度大的列放到联合索引前面优化查询效率对插入 修改 删除语句有影响索引越多查询越慢如何找到重复索引列子id primay key主键索引 unique(id)又生成一个唯一索引 这就重复索引如何找到zongyu索引多个索引的前缀列是相同的id primay key主键索引 又生成一个key(name,id)联合索引表结构优化如何选择合适的数据类型1.可以存下数据的最小的数据类型2.使用简单的数据类型。 int比varchar在mysql处理上简单3.尽可能的使用not null定义字段4.尽量少于text类型非用时考虑分表范式化优化数据表结构传递函数依赖关系 商品名称-》分类-》分类描述商品名称 价格 重量 有效期 分类 分类描述把一张表分成3张表1商品表商品名称 价格 重量 有效期2分类表 分类 分类描述3关系表 **商品名称 分类反范式化优化操作前用户表用户id 姓名 电话 地址 邮编订单表订单id 用户id 下单时间 支付类型 订单状态订单商品表订单id 商品id 商品数量 商品价格商品表商品id 名称 描述 过期时间操作后用户表用户id 姓名 电话 地址 邮编订单表合并一个表中查询订单id 用户id 下单时间 支付类型 订单状态 订单价格 用户名 电话 地址订单商品表订单id 商品id 商品数量 商品价格商品表商品id 名称 描述 过期时间执行sql查询订单信息select a.用户名a.电话,a.地址a.订单ida.订单价格 from 订单表 a表的垂直拆分例idtitle varvhardescription text..字段如果表中有包含 title和description text数据类型的话拆分出去用拆分后的付加表中的表id关联拆分前的表id付加表idtitle varvhardescription text表的水平拆分解决表单的数据量过大系统优化1操作系统的优化 2mysql系统本身优化mysql服务器上关闭iptablesselinux等防火墙软件mysql优化linux下mysql配置文件位置 /etc/my.cnf 或者 /etc/mysql/my.cnfwindows下mysql配置文件位置 c/ windows/my.ini文件服务器硬件优化mysql一些工作只能用到单核cpu的选择单核频率更快的cpu