Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql:优化索引_Mysql_Join_Query Optimization - Fatal编程技术网

Mysql:优化索引

Mysql:优化索引,mysql,join,query-optimization,Mysql,Join,Query Optimization,我安装了MySQL Tuner,这是报告的结果: 启用慢速查询日志以排除错误查询的故障 调整联接查询以始终使用索引 因此,我启用了慢速查询日志,它报告了此类查询: 挑选 u、 PIN、u.name、u.lastname、u.id\u国家、t1.id\u用户列表、计数(t2.id\u用户列表) 与触点AS t1的q1相同,触点AS t2,用户为u,其中t1.id\u user=N和 t2.id\u user=t1.id\u user\u列表和 u、 id\u user=t1.id\u user

我安装了MySQL Tuner,这是报告的结果:

  • 启用慢速查询日志以排除错误查询的故障
  • 调整联接查询以始终使用索引
因此,我启用了慢速查询日志,它报告了此类查询:

挑选 u、 PIN、u.name、u.lastname、u.id\u国家、t1.id\u用户列表、计数(t2.id\u用户列表) 与触点AS t1的q1相同,触点AS t2,用户为u,其中t1.id\u user=N和 t2.id\u user=t1.id\u user\u列表和 u、 id\u user=t1.id\u user\u列表分组依据 t1.id\用户\按姓名、姓氏列出顺序

而且

选择*从用户所在城市,如'S' 性别=N,flg_pic=N,和 flg_hidden=N和flg_ban=N和 id_用户!=N按id订购\u用户说明 极限N,N

我只是需要一些关于优化我的表的帮助,这些帮助包括:

  • 联系方式
    • id_联系人(内部/主要索引)
    • id_用户(整数/索引)
    • id\u用户\u列表(int/index)
  • 用户
    • id_用户(int/主索引)
    • 名称(varchar)
    • lastname(varchar)
    • PIN(varchar)
    • id_国家(国际)
    • 城市(瓦查尔)
    • 性别(1或2)
    • 飞行图(1或0)
    • flg_隐藏(1或0)
    • flg_ban(1或0)

  • 我是否也应该为查询中使用的所有varchar(WHERE和ORDER)编制索引?感谢您的帮助。

    您应该运行explain analyze,更好地了解查询中最昂贵的部分,并围绕这些字段进行索引或优化

    例如:


    您应该优先考虑那些运行频率最高、速度最慢的查询

    我认为您只需要
    解释
    ,而不是
    解释分析
    explain analyze SELECT * FROM user WHERE city LIKE 'S' AND gender = N AND flg_pic = N AND flg_hidden = N AND flg_ban = N AND id_user != N ORDER BY id_user DESC LIMIT N,N