zoukankan      html  css  js  c++  java
  • mysql

    sql server  sql.Where("sku.BarCode like @0", "%" + search.BarCode.Trim() + "%");

     like CONCAT('%',@{0},'%') 

    SHOW PROFILE ALL FOR QUERY  12

    replace into 

    INSERT INTO table (a,b,c) VALUES (1,2,3)  
      ON DUPLICATE KEY UPDATE c=c+1;  

    alter table test add column source varchar(20) DEFAULT  '' COMMENT '来源';

    show slave status;

    enforce_gtid_consistency

    SELECT UNIX_TIMESTAMP('2009-08-06') ;
    SELECT UNIX_TIMESTAMP() ;
    SELECT FROM_UNIXTIME(1502184955,'%Y-%m-%d %H:%i:%s');
    SELECT FROM_UNIXTIME(substring('1502184608028',1,10),'%Y-%m-%d %H:%i:%s');
    select date_format(from_unixtime(substring('1472009536350',1,10)),'%Y-%m-%d')

     select * from  table where token regexp '^[0-9]+$';

    show status like 'innodb_row_lock%';

    show processlist;
    找到锁进程,kill id ;

    UNLOCK TABLES;

    SHOW PROCESSLIST

    show full processlist; 

    SHOW PROFILE CPU,BLOCK IO

    https://www.2cto.com/database/201703/618261.html

     Binlog Dump GTID   Master has sent all binlog to slave; waiting for more updates

    1、将字段类型设为  TIMESTAMP 

    2、将默认值设为  CURRENT_TIMESTAMP

    Field LIKE CONCAT('%',@0,'%')

     like  concat('%,',t.userid,',%')";

    SELECT GROUP_CONCAT(field) FROM tbl

    regexp

    SHOW VARIABLES LIKE '%character_set_server%';
    SHOW VARIABLES LIKE '%collation_server%';
    SHOW VARIABLES LIKE '%character_set_database%';

    SHOW VARIABLES LIKE '%character_set_client%';


    SHOW VARIABLES LIKE '%character_set_connection%';

    SHOW VARIABLES LIKE '%character_set_connection%';

    SHOW VARIABLES LIKE '%character_set_results%';

    /*查询*/
    SHOW GLOBAL STATUS LIKE 'Com_%' ;
    SHOW GLOBAL STATUS LIKE 'innodb_%';
    SHOW GLOBAL STATUS LIKE 'slow_%';/*开启日志*/
    SHOW processlist;
    /*执行计划*/

    DESC SELECT* FROM userinfo


    SELECT COUNT(*) FROM `studentaccount`;
    SHOW PROFILES;
    SHOW PROFILE FOR QUERY 10;

    /*SQL优化器的 优化后的SQL*
    filter在Sserver层过滤后剩下多少满足查询的记录数量
    */
    EXPLAIN EXTENDED SELECT SUM(amount) FROM customer a,payment b WHERE 1=1 AND a.customer_id=b.customer_id AND email='1111'
    SHOW WARNINGS;

    /*
    */
    SELECT COUNT(*) FROM payment;
    SHOW PROFILES;
    SHOW PROFILE FOR QUERY 69;/* 语句能够查看到执行过程中线程中的每个状态和消耗的时间 */

    /*
    索引情况查看
    handler_read_key 的值将很高,这个值代表一个行被索引值读的次数,很低的值表名增加索引得到戏能改善不高,。
    hannler_read_rnd_next 的值高
    */
    SHOW STATUS LIKE 'handler_read%';


    /*
    查看进程
    */

    SHOW PROCESSLIST;


    /*
    kill命令使用方法 */

    KILL pid

    /*
    简单的优化方法
    1、定期分析表和检查表
    */

    ANALYZE TABLE payment;


    CHECK TABLE payment;

    SELECT * FROM information_schema.TABLES WHERE TABLE_SCHEMA= 'adultedu';
    /*
    禁用和启用索引
    */
    ALTER TABLE tbl_Name DISABLE KEYS;
    ALTER TABLE tbl_Name ENABLE KEYS;

    SHOW VARIABLES LIKE '%sort_buffer_size%'
    SHOW GLOBAL STATUS LIKE '%Sort_%';
    SHOW VARIABLES LIKE '%buffer_pool_size%';
    SHOW GLOBAL STATUS LIKE 'Innodb_buffer_pool_read_requests';
    SHOW GLOBAL STATUS LIKE 'Innodb_buffer_pool_reads';
    SHOW VARIABLES LIKE '%max_length%';

    /*
    b. 查看当前会话隔离级别:
    */
    SELECT @@tx_isolation;

    /*
    c.查看系统隔离级别:
    */


    SHOW VARIABLES LIKE '%key_cache_block_size%';

    SHOW STATUS LIKE 'key_%';

    /*
    缓存优化

    从索引的角度考虑

    Key_reads/ Key_read_requests <0.01

    Key_reads / Uptime


    Key_blocks_used*key_cache_block_size/key_buffer_size

    */

    mysql:

     JSON_EXTRACT

    SELECT
    distinct
    (
    JSON_EXTRACT(

    info,

    '$.APPLICATION.Identifier'

    )
    ) ApplicationIdentifier,
    JSON_EXTRACT(
    info,
    '$.APPLICATION.Name'

    ) Name

    NOT REGEXP 'server[0-9]+'

    NOT REGEXP '^20[0-9]{2,2}-[0-9]{1,2}-[0-9]{1,2}$'

     DATE_FORMAT(create_time,'%Y-%m-%d') = '2017-06-16'

    binary platform like "A%"

    sql server:

     LIKE '[0-9][0-9][0-9][0-9]';
    like '192.168.[0-9+].%'

    方法1: 
    Sql Server: 
    Select * Into new_table_name from old_table_name; 这是sql server中的用: 
    MYSQL:
    Create table new_table_name (Select * from old_table_name);
    insert into a select * from b



    MySQL锁概述
    相对其他数据库而言,MySQL的锁机制比较简单,其最显著的特点是不同的存储引擎支持不同的锁机制。比如,MyISAM和MEMORY存储引擎采用的是表级锁(table-level locking);BDB存储引擎采用的是页面锁(page-level locking),但也支持表级锁;InnoDB存储引擎既支持行级锁(row-level locking),也支持表级锁,但默认情况下是采用行级锁。
    MySQL这3种锁的特性可大致归纳如下。
    开销、加锁速度、死锁、粒度、并发性能
    l         表级锁:开销小,加锁快;不会出现死锁;锁定粒度大,发生锁冲突的概率最高,并发度最低。
    l         行级锁:开销大,加锁慢;会出现死锁;锁定粒度最小,发生锁冲突的概率最低,并发度也最高。
    l         页面锁:开销和加锁时间界于表锁和行锁之间;会出现死锁;锁定粒度界于表锁和行锁之间,并发度一般。
     
    MyISAM表锁
    MyISAM存储引擎只支持表锁,这也是MySQL开始几个版本中唯一支持的锁类型。随着应用对事务完整性和并发性要求的不断提高,MySQL才开始开发基于事务的存储引擎,后来慢慢出现了支持页锁的BDB存储引擎和支持行锁的InnoDB存储引擎(实际 InnoDB是单独的一个公司,现在已经被Oracle公司收购)。但是MyISAM的表锁依然是使用最为广泛的锁类型。本节将详细介绍MyISAM表锁的使用。

    查询表级锁争用情况

    可以通过检查table_locks_waited和table_locks_immediate状态变量来分析系统上的表锁定争夺:
    mysql> show status like 'table%';
    +-----------------------+-------+
    | Variable_name         | Value |
    +-----------------------+-------+
    | Table_locks_immediate | 2979  |
    | Table_locks_waited    | 0     |
    +-----------------------+-------+
    2 rows in set (0.00 sec))
    如果Table_locks_waited的值比较高,则说明存在着较严重的表级锁争用情况。
     

    获取InnoDB行锁争用情况    

    可以通过检查InnoDB_row_lock状态变量来分析系统上的行锁的争夺情况:
    mysql> show status like 'innodb_row_lock%';
    +-------------------------------+-------+
    | Variable_name                 | Value |
    +-------------------------------+-------+
    | InnoDB_row_lock_current_waits | 0     |
    | InnoDB_row_lock_time          | 0     |
    | InnoDB_row_lock_time_avg      | 0     |
    | InnoDB_row_lock_time_max      | 0     |
    | InnoDB_row_lock_waits         | 0     |
    +-------------------------------+-------+
    5 rows in set (0.01 sec)
    如果发现锁争用比较严重,如InnoDB_row_lock_waits和InnoDB_row_lock_time_avg的值比较高,还可以通过
     
     
     
     

    原理分析:create table as是ddl语句,insert into select是dml语句,insert into select每一条记录的时候都会产生undo和redo,整个过程相比create table as产生的redo和undo相当多,因此整个过程会慢也是正常的;但是create table as使用的前提是目标表的结构不存在才能使用;

    当有大量数据的时候不推荐使用Insert into as,因为该语句的插入的效率很慢;

     
     
  • 相关阅读:
    CNN: MINST
    【人工智能导论:模型与算法】第六章 思维导图
    【人工智能导论:模型与算法】6.4 循环神经网络
    【人工智能导论:模型与算法】LDA | adaBoosting
    【人工智能导论:模型与算法】6.3 卷积神经网络 学习笔记 1 基础概念
    【人工智能导论:模型与算法】生成式模型 | 判别式模型 3 贝叶斯公式 忽略分母
    【人工智能导论:模型与算法】生成式模型 | 判别式模型 2 修改示例
    【人工智能导论:模型与算法】EM | MLE | Expectation
    k8s+Jenkins+GitLab自动化部署asp.net项目
    docker持续集成java项目
  • 原文地址:https://www.cnblogs.com/zwei1121/p/6861390.html
Copyright © 2011-2022 走看看