zoukankan      html  css  js  c++  java
  • MySQL中的数据类型选择、使用合成索引

    1. char 和 varchar     保存少量字符串

    char 固定长度的字符类型,varchar 可变长度的字符类型,在MyISAM和MEMORY中推荐char  , 在InnoDB中推荐varchar

    2. text 和 blob     保存较大的文本

    text 只能保存字符数据,而BLOB能用来保存二进制数据(图片等)

    optimize table t;

    在InnoDB 引擎中,optimize语句被自动转换为recreate+analyze语句。

     可以使用合成索引(Synthetic)来提高大文本字段(BLOB或TEXT)的查询性能,

    合成索引就是根据大文本字段的内容建立一个散列值,并把这个值存储在单独的数据列中,接下来就可以通过检索散列值快速找到数据,值得注意的是,这种技术只能用于精确匹配的的查询。数值型散列值可以高效率的存储。

    CREATE TABLE t9 (id VARCHAR(100),context BLOB,hash_value VARCHAR(40))
    CREATE INDEX idx_hash_value ON t9 (hash_value)
    INSERT INTO t9 VALUES(1,REPEAT('beijing',2),MD5(context))
    INSERT INTO t9 VALUES(2,REPEAT('beijing',2),MD5(context))
    INSERT INTO t9 VALUES(3,REPEAT('beijing 2008',2),MD5(context))
    SELECT * FROM t9 WHERE hash_value=MD5(REPEAT('beijing 2008',2))

  • 相关阅读:
    使用Python创建自己的Instagram滤镜
    TensorFlow v2.0实现逻辑斯谛回归
    自动驾驶研究回顾:CVPR 2019摘要
    dp cf 20190613
    简单搜索 kuangbin C D
    树形dp compare E
    区间dp E
    Codeforces Round #564 (Div. 2)
    网络流 + 欧拉回路 = B
    网络流 A
  • 原文地址:https://www.cnblogs.com/kate7/p/13306157.html
Copyright © 2011-2022 走看看