zoukankan      html  css  js  c++  java
  • select * 和 select 字段的速度对比

    拿WordPress的数据库做一个对比

    SELECT ID,post_title, post_author FROM wp_posts ORDER BY ID LIMIT 100;
    OK, Time: 0.023000s
    
    SELECT * FROM wp_posts ORDER BY ID LIMIT 100;
    OK, Time: 0.261000s
    
    SELECT `ID` ,  `post_author` ,  `post_date` ,  `post_date_gmt` ,  `post_content` ,  `post_title` ,  `post_excerpt` ,  `post_status` ,  `comment_status` ,  `ping_status` ,  `post_password`,  `post_name` ,  `to_ping` ,  `pinged` ,   `post_modified` ,  `post_modified_gmt`,  `post_content_filtered`,  `post_parent` ,  `guid`,  `menu_order`,  `post_type`,  `post_mime_type`,  `comment_count`  FROM wp_posts ORDER BY ID LIMIT 100;
    OK, Time: 0.231000s
    

    总结

    1. 字段更少速度更快
    2. 没有大内容字段查询速度更快,有大内容字段的表需要最优速度时,可以写明 select 的字段来排除大内容字段
    3. select * 和 select 全部字段的查询速度相差不大

    select * 的缺点

    1. select * 不能有效的利用覆盖索引
    2. select * 读取不需要的列会增加CPU、IO、NET消耗

    覆盖索引

    覆盖索引就是从索引中直接获取查询结果,要使用覆盖索引需要注意select查询列包含在索引列中;where条件包含索引列或者复合索引的前导列
    
  • 相关阅读:
    Mac eclipse导入项目中文乱码问题解决
    初识Freemarker
    Mac 导入maven项目详解
    Mac iTerm2使用总结
    HTML学习笔记——标签
    仿QQ大战—界面篇
    Java之类的构造器(反射)
    JAVA之IO流(字符流)
    JAVA之IO流(字节流)
    仿QQ大战—服务器的搭建(ServerSocket)
  • 原文地址:https://www.cnblogs.com/imbin/p/9807931.html
Copyright © 2011-2022 走看看