• MySQL不支持的特性


    MySQL

    1、不支持物化视图。

    2、不支持位图索引。

    3、不支持并行查询。

    4、不支持哈希关联,MySQL的所有关联都是嵌套循环关联。不过,可以通过建立一个哈希索引来曲线实现。

    5、不允许对同一表同时进行查询和更新。
    报错: UPDATE tb1 AS outer_tb1 SET cnt = (SELECT count(*) FROM tb1 AS inner_tb1 WHERE inner_tb1.type= outer_tb1.type);

    生成表绕过限制: UPDATE tb1 INNER JOIN (SELECT type,count(*) AS cnt FROM tb1 GROUP BY type) AS der USING(type) SET tb1.cnt = der.cnt;

    分区: CREATE TABLE sales(   order_date DATETIME NOT NULL )ENGINE = INNODB

      PARTITION BY RANGE(YEAR(order_date))(

      PARTITION p_2010 VALUES LESS THAN (2010),  

      PARTITION p_2011 VALUES LESS THAN (2011),  

      PARTITION p_2012 VALUES LESS THAN (2012),  

      PARTITION p_catchall VALUES LESS MAXVALUE );

    NULL值会使分区过滤无效 例如,如果所有order_date 为NULL 或者是一个非法值的时候,记录都会被存放在第一个分区。

    WHERE order_date BETWEEN '2010-01-01' AND '2010-12-02',MySQL会检查两个分区,因为第一个分区YEAR()函数在接收非法值的时候会返回NULL值。可以使用PARTITION p_nulls VALUES LESS THAN (0) 来创建一个"无用"的第一个分区。这样即使需要检测第一个分区,代价也非常小。

  • 相关阅读:
    Linux 技巧:让进程在后台可靠运行的几种方法
    What is /dev/null 2>&1?
    In the shell, what does “ 2>&1 ” mean?
    Linux命令之umask
    /dev/null简介
    What is special about /dev/tty?
    sed用法
    cobbler 更换dns和dhcp服务器为dnsmasq
    Linux下如何退出vim的一些常用命令总结
    nginx部署vue项目
  • 原文地址:https://www.cnblogs.com/kenwong/p/4747747.html
Copyright © 2020-2023  润新知