当前位置: 首页 > wzjs >正文

建设通网站怎么注销成都网站建设公司排名

建设通网站怎么注销,成都网站建设公司排名,北京网站建设资讯,小红书推广费用标准以下是 MySQL 中模糊查询的全面总结,涵盖各种索引优化方案的核心原理、适用场景及操作示例: 一、模糊查询类型与索引优化方案 查询类型示例语法最佳索引方案索引结构适用场景前缀匹配LIKE prefix%普通索引/前缀索引B-Tree用户名、路径、分类前缀查询后…

以下是 MySQL 中模糊查询的全面总结,涵盖各种索引优化方案的核心原理、适用场景及操作示例:

一、模糊查询类型与索引优化方案

查询类型示例语法最佳索引方案索引结构适用场景
前缀匹配LIKE 'prefix%'普通索引/前缀索引B-Tree用户名、路径、分类前缀查询
后缀匹配LIKE '%suffix'逆向索引/全文索引B-Tree/倒排索引文件扩展名、URL 后缀查询
任意位置匹配LIKE '%word%'全文索引/搜索引擎(ES)倒排索引文章关键词、内容搜索
函数计算匹配LIKE CONCAT('%', var, '%')函数索引/冗余字段B-Tree动态关键词搜索

二、前缀索引(Prefix Index)

核心原理
  • 索引字段的前 N 个字符,而非全量内容,减少索引体积。
  • 语法
    CREATE INDEX idx_col_prefix ON table_name(column_name(N));
    
适用场景
  • 字段长度较长(如 VARCHAR(255))且前缀重复率低。
  • 查询以固定前缀开头(如 LIKE 'user%')。
操作步骤
  1. 计算最佳 N 值
    SELECT COUNT(DISTINCT LEFT(column_name, N)) / COUNT(*) AS selectivity
    FROM table_name;
    
    • 选择 selectivity 接近 1 的最小 N(通常 ≥ 0.95)。
  2. 创建前缀索引
    CREATE INDEX idx_email_prefix ON users(email(20));
    
优缺点
  • 优点:节省空间,提升前缀匹配性能。
  • 缺点:仅支持前缀匹配,不支持后缀或中间匹配。

三、逆向索引(Reverse Index)

核心原理
  • 将字段值反转后存储,并创建索引,将后缀匹配转化为前缀匹配。
适用场景
  • 查询以固定后缀结尾(如 .jpg.pdf)。
  • 数据量较大且后缀查询频繁。
操作步骤
  1. 添加反转字段
    ALTER TABLE files ADD reversed_path VARCHAR(255) AS (REVERSE(file_path));
    
  2. 创建索引
    CREATE INDEX idx_reversed ON files(reversed_path);
    
  3. 查询时反转条件
    SELECT * FROM files WHERE reversed_path LIKE CONCAT(REVERSE('.jpg'), '%');
    
优缺点
  • 优点:利用 B-Tree 索引优化后缀匹配。
  • 缺点:需额外存储反转字段,查询时需计算 REVERSE()

四、函数索引(Functional Index)

核心原理
  • 直接对表达式或函数结果创建索引,避免查询时重复计算。
适用场景
  • 查询条件包含函数(如 SUBSTRING()LOWER())。
  • 需对计算结果进行过滤(如提取文件扩展名)。
操作步骤
  1. 创建函数索引(MySQL 8.0+):
    CREATE INDEX idx_extension ON files(SUBSTRING_INDEX(file_path, '.', -1));
    
  2. 查询时使用相同函数
    SELECT * FROM files WHERE SUBSTRING_INDEX(file_path, '.', -1) = 'jpg';
    
优缺点
  • 优点:简化查询逻辑,避免手动维护冗余字段。
  • 缺点:索引维护开销大(每次写入需重新计算)。

五、全文索引(Full-Text Index)

核心原理
  • 使用倒排索引结构,将文本分词后建立映射关系,支持高效全文搜索。
适用场景
  • 查询条件可能出现在文本任意位置(如 LIKE '%keyword%')。
  • 需支持自然语言搜索(如权重排序、同义词匹配)。
操作步骤
  1. 创建全文索引
    ALTER TABLE articles ADD FULLTEXT INDEX ft_content(content);
    
  2. 查询语法
    -- 自然语言模式
    SELECT * FROM articles WHERE MATCH(content) AGAINST('keyword');
    -- 布尔模式(支持 + - 等操作符)
    SELECT * FROM articles WHERE MATCH(content) AGAINST('+apple -banana' IN BOOLEAN MODE);
    
配置优化
  • 调整分词参数
    ft_min_word_len = 2  # 最小词长(默认 3)
    ngram_token_size = 2  # 支持中文分词
    
  • 禁用停用词
    ALTER TABLE articles ADD FULLTEXT INDEX ft_content(content) WITH PARSER ngram;
    
优缺点
  • 优点:支持任意位置匹配,性能优于 LIKE '%word%'
  • 缺点:配置复杂,不支持精确位置匹配(如必须在开头)。

六、性能对比与选型建议

索引类型查询效率空间占用维护成本适用场景优先级
前缀索引极高前缀匹配(如用户名、路径)
逆向索引后缀匹配(如文件扩展名)
函数索引需对函数结果过滤的场景
全文索引任意位置模糊匹配(如文章搜索)

七、注意事项与最佳实践

  1. 避免全表扫描
    • 尽量避免 LIKE '%word%'(全表扫描),改用全文索引或 ES。
  2. 索引选择性
    • 对低选择性字段(如性别、状态码)创建索引意义不大。
  3. 覆盖索引
    • 确保查询字段都在索引中,避免回表:
      CREATE INDEX idx_covering ON table_name(column_name) INCLUDE(other_column);
      
  4. 验证索引使用
    EXPLAIN SELECT * FROM table_name WHERE column_name LIKE 'prefix%';
    
    • 检查 type 列是否为 rangeref

八、常见问题排查

  1. 索引未生效
    • 检查查询条件是否包含函数(如 LOWER()),导致索引失效。
    • 使用 FORCE INDEX 强制优化器选择索引:
      SELECT * FROM table_name FORCE INDEX (idx_col) WHERE ...;
      
  2. 全文索引不支持中文
    • 启用 ngram 分词器:
      ALTER TABLE articles ADD FULLTEXT INDEX ft_content(content) WITH PARSER ngram;
      

总结

  • 前缀匹配:优先使用前缀索引(简单高效)。
  • 后缀匹配:逆向索引或全文索引(根据数据量选择)。
  • 任意位置匹配:全文索引或 Elasticsearch(复杂场景)。
  • 函数计算匹配:函数索引或冗余字段(权衡维护成本)。

通过合理选择索引方案,可将模糊查询性能提升数十倍甚至数百倍,避免生产环境出现慢查询瓶颈。

http://www.dtcms.com/wzjs/186319.html

相关文章:

  • 临近做网站友情链接你会回来感谢我
  • 济南科技市场做网站百度收录好的免费网站
  • 在线手机网站预览优化大师windows
  • 石家庄网站建设价格低百度竞价点击神器
  • 口碑营销5t模型广东短视频seo搜索哪家好
  • 万州哪里有做网站的百度新闻官网首页
  • 政府门户网站建设问题淘宝seo优化排名
  • 北京兄弟搬家公司优化大师是什么软件
  • seo好的外贸网站重庆网站seo建设哪家好
  • 徐州网站定制公司哪家好西安百度推广公司
  • html5国内网站上海seo网络优化
  • 企业网站建设的思路seo搜索引擎优化视频
  • 新手练习做网站哪个网站比较合适石家庄自动seo
  • 手机做wifi中继上外国网站yandex搜索引擎入口
  • 企业网站结构品牌推广策略分析
  • 0基础微信小程序开发教程班级优化大师免费下载电脑版
  • 拼多多网站开发西安疫情最新数据
  • 天津市建设银行租房网站竞价推广托管公司价格
  • 联盟网站制作万网域名管理入口
  • python完整网站开发项目视频google竞价推广
  • 培训的网站建设免费b站软件推广网站
  • 成都营销网站正规seo排名多少钱
  • 外贸网站优化哪家好建立网站需要什么
  • 网站建设 系统维护互联网推广运营是做什么的
  • 网站推广途径和方案网站服务器ip查询
  • 网站默认首页搜索引擎优化需要多少钱
  • 云服务器可以做网站吗seo案例模板
  • 做本地网站需要的软件百度推广怎么开户
  • 石家庄网站开发价格网站搭建模板
  • 做saas网站可行吗爱站小工具圣经