`
阿尔萨斯
  • 浏览: 4178184 次
社区版块
存档分类
最新评论

MySql优化之二三事

 
阅读更多

SQL语句之优劣

  • SELECT * FROM node_revisions WHERE nid IN ( SELECT max(nid) FROM node )
Better way

SELECT @maxid :=max(nid) FROM node;

SELECT * FROM node_revisions WHERE nid = @maxid
  • SELECT * FROM node WHERE nid > 10 OR created > 1209793459
Better way (If either of nid and created is not index)

SELECT * FROM node WHERE nid > 10

UNION

SELECT * FROM node WHERE create > 1209793459
  • SELECT * FROM node WHERE nid IN (SELECT nid FROM term_node WHERE tid <10 )
Better way (using subquery is not a good choice in common)

SELECT n.* FROM node n LEFT JOIN term_node t ON t.nid = n.nid WHERE tid &lt; 10
Group By之优化
  • The results of group by will be sort as group by column(s) in default, so if you don’t want to sort result, add ORDER BY NULL:

  • SELECT count(nid) FROM node group by vid

  • explain:

  • |id|select_type|table|type|possible_keys|key|key_len| ref|rows|Extra

  • |1|SIMPLE|node|ALL|NULL|NULL|NULL|NULL|23|Using temporary; Using filesort
SELECT count(nid) FROM node group by vid ORDER BY NULL

explain:

| id | select_type | table|type| possible_keys| key | key_len | ref | rows | Extra

| 1 | SIMPLE | node | ALL | NULL | NULL | NULL | NULL | 23 | Using temporary
  • Sometimes group by sql statement is too slow in large table,the problem maybe is the variable tmp_table_size too small, which is 32M in default, so you need change it to the bigger value.
CREATE INDEX之优化

When you create index on varchar or char column, partial index is better than all index, especially in large column: CREATE INDEX name_index ON USERS (name (10)); It will create index only the first 10 characters.

MYSQL Server Configuration

Add configuration for mysql section [mysqld]

skip-name-resolve #Don’t resolve hostnames

Compile MySQL on Linux
config.mysql.sh

#!/bin/bash

exe=configure

$exe --prefix=/opt/mysql --localstatedir=/opt/mysql/data --with-mysqld-user=mysql --sysconfdir=/opt/mysql/etc --with-unix-socket-path=/opt/mysql/temp/mysql.sock --with-tcp-port=3307 --with-charset=utf8 --with-extra-charsets=all --with-mysqld-ldflags=-all-static --with-client-ldflags=-all-static --enable-assembler --enable-thread-safe-client --with-pthread --without-debug --without--isam #configure的相关参数: #--prefix=/home/mysql/ /指定安装目录 #--without-debug /去除debug模式 #--with-extra-charsets=gbk,gb2312,utf8 /添加gbk,gb2312,utf8中文字符支持 #--with-pthread /强制使用pthread库(posix线程库) #--enable-assembler /使用一些字符函数的汇编版本 #--enable-thread-safe-client /以线程方式编译客户端 #--with-client-ldflags=-all-static /以纯静态方式编译客户端 #--with-mysqld-ldflags=-all-static /以纯静态方式编译服务端 #--without-isam /去掉isam表类型支持,现在很少用了,isam表是一种依赖平台的表 #--without-innodb /去掉innodb表支持,innodb是一种支持事务处理的表,适合企业级应用

Problems In MySQL

远程无法访问 1. mysql>GRANT ALL PRIVILEGES ON *.* TO 'user'@'%' IDENTIFIED BY "1234";

允许xoops_root用户可以从任意机器上登入MySQL。

$sudo gedit /etc/mysql/my.cnf

老的版本中

&gt;skip-networking =&gt; # skip-networking

新的版本中

&gt;bind-address=127.0.0.1 =&gt; bind-address= 你机器的IP

127.0.0.1知允许本地访问

分享到:
评论

相关推荐

    mysql 性能优化

    mysql 性能优化mysql 性能优化mysql 性能优化mysql 性能优化mysql 性能优化mysql 性能优化mysql 性能优化mysql 性能优化mysql 性能优化mysql 性能优化mysql 性能优化mysql 性能优化mysql 性能优化mysql 性能优化...

    mysql优化十大技巧

    mysql优化技巧mysql优化技巧mysql优化技巧mysql优化技巧mysql优化技巧mysql优化技巧mysql优化技巧mysql优化技巧mysql优化技巧mysql优化技巧mysql优化技巧mysql优化技巧mysql优化技巧mysql优化技巧mysql优化技巧mysql...

    php之mysql优化

    mysql优化

    mysql优化配置大全

    mysql慢可能是配置不对,阅读一下这个可能对你有帮助 ...对于Discuz!... 下面我们了解一下MySQL优化的一些基础,MySQL的优化我分为两个部分,一是服务器物理硬件的优化,二是MySQL自身(my.cnf)的优化。

    MYSQL优化-一篇很好的优化文章

    23. MYSQL何时不使用索引 24. 学会使用EXPLAIN 25. 学会使用SHOW PROCESSLIST 26. 如何知晓MYSQL解决一条查询 27. MYSQL非常不错 28. MYSQL应避免的事情 29. MYSQL各种锁定 30. 给MYSQL更多信息以更好地解决...

    mysql优化笔记+资料

    详细介绍了mysql的优化方法,资料包里包含word文档,ppt和图片

    Mysql 性能优化之架构优化

    Mysql 性能优化之架构优化

    大型门户网站核心技术-Mysql优化

    教程名称:大型门户网站核心技术-Mysql优化 课程目录:【】Mysql优化 资料【】Mysql优化01关键技术【】Mysql优化02表的设计【】Mysql优化03慢查询(一)【】Mysql优化04慢查询(二)【】Mysql优化05慢查询(三)【】Mysql...

    MySql优化.rar

    MySql优化

    mysql优化!

    mysql使用中的一些优化。

    mysql 优化工具.rar

    为什么要开发这个MySQL 优化工具(Why)   “一键优化”功能,可以优化本地/远程需要优化的机器,将繁琐的优化工作“傻瓜”式操作 根据您的业务需求Step By Step优化的MySQL服务器参数,起到指引的作用,简化用户...

    mysql基础知识和mysql优化整理

    mysql基础知识和mysql优化整理,mysql基础知识和mysql优化整理,

    我的mysql 优化日记

    我的mysql优化日记 我的mysql优化日记 我的mysql优化日记 我的mysql优化日记

    mysql优化-sql高级

    mysql优化从以下几个方面介绍 mysql的架构 索引优化分析 查询截取分析 mysql锁机制 主从复制

    MySql 优化.doc

    MySql优化——MySql 优化.doc

    MySql优化.pdf

    mysql优化

    Mysql优化方法介绍.ppt

    Mysql优化方法介绍.ppt

    windows平台mysql优化配置

    windows平台mysql优化配置

    MySQL优化大揭秘.rar

    MySQL优化

Global site tag (gtag.js) - Google Analytics