mysql 优化

1.      使用正则表达式

Selectname,email from t where email REGEXP “@163[.,]com$”

或者Select name,emailfrom t where email like “%163.com” or email like “%@163,com”

2.      mysql有一个随机函数rand(),利用这个函数和orderby能够把数据随机排序

mysql>select * from stu order by rand();

mysql>select * from stu order by rand() limit 3;

3.      外键,是指一张表中的一个字段是另外一张表的主键,则叫外键

Innodb类型的表支持外键,myisam类型的表,虽然能创建成功,但不起作用

4.      Show status 命令了解各种sql的执行频率

Mysql->show[session|global]status

其中:session(默认)表示当前连接,

Global表示自数据库启动至今

Connections 连接mysql的数量

Uptime服务器已经工作的秒数

Slow_queries 慢查询的次数

5.      定位执行效率较低的sql语句(解析sql语句)

Explain  select *from table where id=1000;

Desc select * from table where id=1000;

6.      索引的存储分类

Myisam存储引擎的数据和索引是自动分开存储的,innodb存储引擎的表和索引是存储在同一表空间里,但可以有多个文件组成。

Mysql目前不支持函数索引,但是能对列的前面某一部分进行索引,例如name字段,可以只取name的前4个字符进行索引,这个特性可以大大缩小索引文件的大小,用户在设计表结构的时候也可以对文件列根据此特性进行灵活设计

Mysql>create index ind_company2_name oncompany2(name(4));

其中company表名 ind_company2_name索引名

1)  使用like的查询,后面如果是常量并且只有%号不在第一个字符,索引才可能会被使用

2)  如果对大的文本进行搜索,使用全文索引而不使用like”%...%”

3)  大范围的查询,mysql自身有时会放弃使用索引

4)  Mysql中的where条件中假如有or,则两列都得使用索引,如果只有一列使用索引,则mysql都不会使用索引

5)  Handler_read_rnd_next d的值高则意味着查询运行低效,并且应该建立索引补救

6)  尽量避免使用嵌套查询,因为里面能用到索引,外面不能用到索引,可以用连表查询来替代

7.      Mysql服务器优化

Myisam读锁 lock table t1 read 能读,但不能写

Myisam 写锁lock table t1 write自己能读写,别人不能读写

Mysql重启

Pkill mysqld

Pstree | grep mysqld

/usr/local/mysql/bin/mysqld_safe –user=mysql &

!ps

Mysql密码丢失解决

Service mysqld stop

Mysqld_safe –skip-grant-tables –user=mysql &

//跳过授权标mysql.user和mysql.db这些表

Mysql –uroot

Set password=password(“123456”);

//用这一条语句结果报错,就是因为加了—skio-grant-tables

Mysql>update user set password=password(“123456”) whereuser = ‘root’ and host=’localhost’;

Mysql>set password for root@localhost=password(“123456”);

Mysql>set password=password(“123456”);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值