关于Select * 与Select 字段名 的问题!
1、
SELECT
* 语句取出表中的所有字段,不论该字段的数据对调用的应用程序是否有用,这会对服务器资源造成浪费,甚至会对服务器的性能产生一定的影响。
2、如果表的结构在以后发生了改变,那么
SELECT
* 语句可能会取到不正确的数据甚至是出错。
3、执行
SELECT
* 语句时,SQL Server首先要查找出表中有哪些列,然后才能开始执行
SELECT
* 语句,这在某些情况会产生性能问题。
4、使用
SELECT
* 语句将不会使用到覆盖索引,不利于查询的性能优化。
5、在文档角度来看,
SELECT
* 语句没有列明将要取出哪些字段进行操作,所以也是不推荐的。
关于
Select
* 与
Select
字段名 的问题!
理由一:不用 * 号而列取字段,是严谨且良好的习惯。
理由二:记得在SQL2000,如果在视图中使用了
select
*,像 SQL code
select
*
from
tableA
然后再修改tableA的结构,
回过头来看之前建立的视图,竟发现视图是不会自动更新的,
即在视图中的
select
*,返回的还是原有的旧结构,
这种不能同步更新的情况,很容易被忽视,造成错误.
理由三:
我以前也这样做的,不过都让改成显示列名了.理由是如果数据库中的这个表有所改动,如增加一列,而根本不需要显示.所以还是尽量用列名比较好.而且对于代码的理解也比较好.
理由四:
不建议用*,最好是写列名,排版好就行了。
理由五:
建议下一个SQL标准中取消
"select *"
的用法 :)
在大多数情况下都是明确写出列名好,
select
* 大多数情况下是图个方便。
理由六:
select
*只是圖個方便,當你的返回表中有入讀比較大的字段或者有二進制數據字段時,容易產生字段名混亂錯誤。你調用返回表時可能會出現的得不了具體值。一個個寫出來字段可以避免這些情況。
理由七:
这要看实际情况啥...
考虑到大数据量时最好用字段不用*;因为用*会把其表中的如INDEX...等用不上的信息全部提取.
习惯不用*久了秒一切OK了.
数据量大的效率问题就出来了...
关于Select * 与Select 字段名 的问题!的更多相关文章
- oracle中,改变表名和字段名的大小写
1.将表名和字段名改为大写 见--http://www.cnblogs.com/wenboge/articles/4121331.html 2.将表名和字段名改为小写 ①改表名为小写 begin f ...
- MySQL select 语句指定字段查询
指定字段查询 SELECT 语法 SELECT [ALL | DISTINCT] {* | table.* | [table.field1[as alias1][,table.field2[as al ...
- select * 和 select 所有字段的区别
阅读本文大概需要 1 分钟. 之前发过的文章中,关于 select * 和 select 所有字段的知识,有描述不恰当,这次重新纠正下,加深下理解. MySQL 5.1.37 表记录数 41,547, ...
- 子查询 做where条件 做 from的临时表 ,做select的一个字段 等
子查询 做where条件 做 from的临时表 ,做select的一个字段 等
- sql判断以逗号分隔的字符串中是否包含某个字符串--------MYSQL中利用select查询某字段中包含以逗号分隔的字符串的记录方法
sql判断以逗号分隔的字符串中是否包含某个字符串---------------https://blog.csdn.net/wttykj/article/details/78520933 MYSQL中利 ...
- select * 和 select 字段的速度对比
拿WordPress的数据库做一个对比 SELECT ID,post_title, post_author FROM wp_posts ORDER BY ID LIMIT 100; OK, Time: ...
- SQL Server 2008 R2——根据数据查找表名和字段名 根据脏数据定位表和字段
=================================版权声明================================= 版权声明:原创文章 谢绝转载 请通过右侧公告中的“联系邮 ...
- SQL 查找表名 字段名
转载:http://www.accessoft.com/article-show.asp?id=6135 经常碰到一些忘记表名称的情况,此时只记得个大概,此时可通过查询系统表Sysobjects找到所 ...
- MyBatis学习总结(四)——解决字段名与实体类属性名不相同的冲突(转载)
本文转载自:http://www.cnblogs.com/jpf-java/p/6013307.html 在平时的开发中,我们表中的字段名和表对应实体类的属性名称不一定都是完全相同的,下面来演示一下这 ...
随机推荐
- 第一百一十二节,JavaScript浏览器检测
JavaScript浏览器检测 学习要点: 1.navigator对象 2.客户端检测 由于每个浏览器都具有自己独到的扩展,所以在开发阶段来判断浏览器是一个非常重要的步骤.虽然浏览器开发商在公共接口方 ...
- "ApplicationDbContext"(泛指之类的数据库上下文模型)上下文的模型已在数据库创建后发生更改。请考虑使用 Code First 迁移更新数据库。
一,在我使用自动生成数据库的时候,当你改变了数据库就会出现下面问题 "ApplicationDbContext"(泛指之类的数据库上下文模型)上下文的模型已在数据库创建后发生更改. ...
- PAT 乙级 1004. 成绩排名
读入n名学生的姓名.学号.成绩,分别输出成绩最高和成绩最低学生的姓名和学号. 输入格式:每个测试输入包含1个测试用例,格式为 第1行:正整数n 第2行:第1个学生的姓名 学号 成绩 第3行:第2个学生 ...
- YII使用PHPExcel导入Excel文件的方法
1.下载phpexcel,将压缩包中的classes复制到protected/extensions下并修改为PHPExcel. 2.修改YII配置文件config/main.php 'import'= ...
- hdu_4787_GRE Words Revenge(在线AC自动机)
题目链接:hdu_4787_GRE Words Revenge 题意: 总共有n个操作,2种操作.每行读入一个字符串. 1.如果字符串以+开头,此为单词(即模式串,不考虑重复) 2.如果字符串以?开头 ...
- LeetCode OJ 42. Trapping Rain Water
Given n non-negative integers representing an elevation map where the width of each bar is 1, comput ...
- IntelliJ IDEA 13.1.4新建java web项目
打开软件
- stl 生产全排列 next_permutation
#include<stdio.h>#include<algorithm>using namespace std;int main(){ int n,p[10]; scanf(& ...
- TimeJob权限问题 拒绝访问
internal void RenameWithoutValidation(string value) { if (value == null) throw new ArgumentNullE ...
- 网页 JavaScript
今天,我主要学习了JavaScript的部分内容. JavaScript在html中的位置主要有三个地方:head里面.body里面.</html>之后,我们一般写在</html&g ...