• mysql


    alter table tableName add(drop index)  columnName after     更新表字段

    create UNIQUE_INDEX 索引name USING BTREE on  tableName(字段)         创建索引

    drop table tableName  删除表

    create table tablename as select * from tableName2  备份表数据

    SELECT * FROM information_schema.columns WHERE column_name='app_id';   查询数据库中某个字段那个表包含

    update tableName t1 inner join tableName2 t2 on 关联条件 set  where  关联两个表更新

    delete from tablename  删除表数据

    mysql 查看执行明细
    explain
    id
    select_type :select查询的类型,主要是区别普通查询和联合查询、子查询之类的复杂查询。
    table :输出的行所引用的表。
    type:联合查询所使用的类型。ype显示的是访问类型,是较为重要的一个指标,结果值从好到坏依次是:

    system > const > eq_ref > ref > fulltext > ref_or_null > index_merge > unique_subquery > index_subquery > range > index > ALL
    possible_keys

    指出MySQL能使用哪个索引在该表中找到行。如果是空的,没有相关的索引。这时要提高性能,可通过检验WHERE子句,看是否引用某些字段,或者检查字段不是适合索引。
    key

    显示MySQL实际决定使用的键。如果没有索引被选择,键是NULL。
    key_len

    显示MySQL决定使用的键长度。如果键是NULL,长度就是NULL。文档提示特别注意这个值可以得出一个多重主键里mysql实际使用了哪一部分。

    ref

    显示哪个字段或常数与key一起被使用。

    rows

    这个数表示mysql要遍历多少数据才能找到,在innodb上是不准确的。

    Extra plain

    如果是Only index,这意味着信息只用索引树中的信息检索出的,这比扫描整个表要快。

    如果是where used,就是使用上了where限制。

    如果是impossible where 表示用不着where,一般就是没查出来啥。

    慎用 max 可用 order by id desc limit 1

    0.先运行看看是否真的很慢,注意设置SQL_NO_CACHE
    1.where条件单表查,锁定最小返回记录表。这句话的意思是把查询语句的where都应用到表中返回的记录数最小的表开始查起,单表每个字段分别查询,看哪个字段的区分度最高
    2.explain查看执行计划,是否与1预期一致(从锁定记录较少的表开始查询)
    3.order by limit 形式的sql语句让排序的表优先查
    4.了解业务方使用场景
    5.加索引时参照建索引的几大原则
    6.观察结果,不符合预期继续从0分析

    一:

    innodb 默认按照主键自增排序

    myisam 默认按照物理存储顺序排序       必须养成追加写order by   ,id的习惯

    批量执行会造成行锁优化为表锁, 所以生产上 sql 要分开写

    执行某条sql被锁死

    Lock wait timeout exceeded; try restarting transaction的异常,错误提示的意思,很明显,是因为这条语句被锁住了,所以释放这个锁

    • innodb_trx 当前运行的所有事务
    • innodb_locks 当前出现的锁
    • innodb_lock_waits 锁等待的对应关系

    select * from information_schema.innodb_trx

    kill 进程

    show processList

  • 相关阅读:
    并发编程-阻塞队列&JUC常用工具
    并发编程-Condition源码分析&基于Condition实现阻塞队列
    并发编程-ReentrantLock锁源码分析&Condition设计
    并发编程-JMM&ReentrantLock锁以及原理
    数据库操作支持函数
    python内置进制转换函数
    三目运算符
    数据库常见操作
    宏使用汇总
    sort: invalid comparator
  • 原文地址:https://www.cnblogs.com/mxz1994/p/9758610.html
Copyright © 2020-2023  润新知