zoukankan      html  css  js  c++  java
  • 叶问7

    《叶问》是知数堂新设计的互动栏目,不定期给大家提供技术知识小贴士,形式不限,或提问、或讨论均可,并在当天发布答案,让大家轻轻松松利用碎片时间就可以学到最实用的知识点。

    2018年8月9日,周四

    MySQL的表中有唯一索引,设置unique_checks为0时,还能否写入重复值?

    首先,即便设置unique_checks=0,也无法往唯一索引中写入重复值。

    其次,设置unique_checks=0的作用在于,批量导入数据(例如load data)时,在确保导入数据中无重复值时,无需再次检查其唯一性,加快导入速度。

    所以,unique_checks=0并不是允许唯一约束失效,而是再批量导数据时不再逐行检查唯一性。

    2018年8月15日,周六

    某人曰,在数据检索的条件中使用!=操作符时,存储引擎会放弃使用索引。 理由:因为检索的范围不能确定,所以使用索引效率不高,会被引擎自动改为全表扫描。你认可他的说法吗?

    答:通常情况下,这个说法是正确的。当然,也有特殊情况,话不能说绝对了。 

    有一个测试表共80万条数据,其中type列只有1、2两个值,分别占比97%和3%。 

    这种情况下,查询条件 WHERE type != 1,是有可能也可以走索引的。 

    下面是两个SQL的执行计划: 

    mysql> desc select * from t1 where type = 1G 
    ************ 1. row ************ 
    id: 1 
    select_type: SIMPLE 
    table: t1 
    partitions: NULL 
    type: ref 
    possible_keys: type 
    key: type 
    key_len: 4 
    ref: const 
    rows: 399731 
    filtered: 100.00 
    Extra: NULL
    
    mysql> desc select * from t1 where type != 1G 
    ************ 1. row ************ 
    id: 1 
    select_type: SIMPLE 
    table: t1 
    partitions: NULL 
    type: ref 
    possible_keys: type 
    key: type 
    key_len: 4 
    ref: const 
    rows: 10182 
    filtered: 100.00 
    Extra: NULL
    
    type数据分布 
    mysql> select type, count(*) as cnt from t1 group by type order by cnt; 
    +------+--------+ 
    | type | cnt | 
    +------+--------+ 
    | 2 | 38304 | 
    | 1 | 761690 | 
    +------+--------+

    2018年8月17日,周一

    Redis集群的slot迁移是如何实现的? 

    答:迁移源slot设置为migrating 状态,迁移目标slot设置为importing状态。

    在内部用dump & restore命令,把数据迁移到目标节点,迁移结束之后,移除migrating和importing状态。

    在迁移过程中如果有数据访问,如果数据没迁移到目标节点,那么直接返回结果,如果迁移到目标节点,那么给客户端返回ASK重定向。

  • 相关阅读:
    MySQL limit 分页查询优化(百万级优化)
    HAVING 搜索条件在进行分组操作之后应用
    Mysql 多表连接查询 inner join 和 outer join 的使用
    php7 configure: error: Cannot find OpenSSL's <evp.h> 问题解决
    解决Cannot find config.m4 Make sure that you run '/home/php/bin/phpize' in the top level source directory of the module
    Ubuntu下彻底卸载默认安装的mysql,自己手动下载安装MYSQL
    mysql 运算操作符
    mysql 函数表
    【mysql】连接和断开服务器
    mysql 5.7 增删改查及别名的用法
  • 原文地址:https://www.cnblogs.com/allenhu320/p/11347118.html
Copyright © 2011-2022 走看看