mysql学习笔记

mysql学习笔记

一、优化

索引

索引分单列索引和组合索引。单列索引,即一个索引只包含单个列,一个表可以有多个单列索引,但这不是组合索引。组合索引,即一个索引包含多个列。

创建索引时,你需要确保该索引是应用在 SQL 查询语句的条件(一般作为 WHERE 子句的条件)。
实际上,索引也是一张表,该表保存了主键与索引字段,并指向实体表的记录。

上面都在说使用索引的好处,但过多的使用索引将会造成滥用。因此索引也会有它的缺点:虽然索引大大提高了查询速度,同时却会降低更新表的速度,如对表进行INSERT、UPDATE和DELETE。因为更新表时,MySQL不仅要保存数据,还要保存一下索引文件。

创建索引时,1该索引列不能为null;2该索引字段不能过长

语法:

 Alter Table `TableName` Add Index IndexName(columnName);
  
 Drop Index IndexName On TableName

分区

一张表对应三个文件:frm(表结构)、myd(表数据)、myi(表索引)

分区的两种方式:横向分区,纵向分区

mysql ---- 横向分区

主要的分区方式:

  • range
  • list
  • hash
  • key
  • 子分区

mysql的疑难杂症

一、执行卡死

  1. 执行一个存储过程时,一直发现执行不成功
  2. show PROCESSLIST 发现有一个线程是

Waiting for table metadata lock

解决方案:
select trx_state, trx_started, trx_mysql_thread_id, trx_query from information_schema.innodb_trx
然后kill 掉所有的未提交的事务
kill 9	(9对应的是trx_mysql_thread_id)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值