select-mysql数据表查询效率问题?

问题描述

mysql数据表查询效率问题?

比如一个表a有以下字段

a1(int自增主键),a2(varchar(10)),a3(datetime),a4(ntext)

把a表分成(由于考虑a4及占空间)
afen表 a1(int自增主键),a2(varchar(10)),a3(datetime)
afen1表 a1(int外键或加索引等),a4(ntext)

问以下两个查询
select a1,a2,a3 from a order by a3 desc;
SELECT * from afen order by a3 desc;
在效率上一样吗?

解决方案

不一样,如果数量少的话,是无法区分的至少在数千条内是一样的。但是过多后,你的select * 是会慢点

解决方案二:

不一样 * 要数据库自己先前识别字段,而写出的字段就不需要了

解决方案三:

同时查询最大最小值的效率问题
数据库多表查询效率问题
Mysql 大表查询效率

解决方案四:

不一样的,select * 是查询了库表里的所有的,会慢点,但是单个确定字段就不一样了,会比* 快点的。

时间: 2024-10-02 03:50:30

select-mysql数据表查询效率问题?的相关文章

mysql-难到初学者的MySQL多表查询问题

问题描述 难到初学者的MySQL多表查询问题 本人初学java.请各位大牛帮帮忙. 学生表student (stu_id ,stu_name ): 课程表course (c_id,c_name): 成绩表score (stu_id ,c_id,score): 1.在学生表中添加一条数据: 2.查询名字为Tom的学生所选的课程: 3.查询stu_id为3的学生所学课程的成绩 解决方案 insert into student values(id,name); select course.c_name

关联数据表查询,不用表连接,不建立外键,如何查询出来

问题描述 关联数据表查询,不用表连接,不建立外键,如何查询出来 查询两个有关联的数据表,一个表是cate分类表,另一个是game游戏表,分类表的id=game表的cate_id 不用表连接,不建立外键,怎么将game表的数据和cate表的数据一一对应查出来.求答 解决方案 select game.*(select cate_name from cate where 分类表的id=game.cate_id) as 分类名 from game

mysql多表查询连接问题,

问题描述 mysql多表查询连接问题, 题目:查询平均成绩在80分及以上的所有学生的学号及平均成绩并按平均成绩降序排列. SELECT s1.sno FROM student s1,class c1,timetable t,course c2,score s2 WHERE s1.classid = c1.classid AND c1.classid = t.classid AND t.courseid = c2.courseidAND c2.courseid = s2.courseid; 写到这

mysql多表查询,在线等

问题描述 mysql多表查询,在线等 四张表A B C D每个表的primary key都是id,D有个C_id对应C的id,C有个B_id对应B的id,B有个A_id对应A的id,要查询A中的name和对应的D中的age,怎么查询呢? 解决方案 select A.name,D.age from A,B,C,D where D.C_id=C.id and C.B_id=B.id and B.A_id=A.id; 你可以使用该语句试试. 解决方案二: A左连接B,B.C一般的查询,D右连接C 试试

备份MYSQL数据表结构与数据库结构教程

备份MYSQL数据表结构 [root@Mysql ~]# /usr/local/mysql/bin/mysqldump -uroot -p'admin' -d mysql servers>/backup/mysql-structure-tables-$(date +%F).sql [root@Mysql ~]# egrep -v "^$|^--|*" /backup/mysql-structure-tables-2014-06-05.sql DROP TABLE IF EXIST

[小白技巧]如何在Linux上检查MySQL数据表的存储引擎类型

[小白技巧]如何在Linux上检查MySQL数据表的存储引擎类型 数据库表的类型? MySQl主要使用两种存储引擎:MyISAM 和 Innodb.MyISAM是非事务的,因此拥有读取更快,然而InnoDB完全支持细颗粒度的事务锁定(比如:commit/rollback).当你创建一张新的MySQL表时,你要选择它的类型(也就是存储引擎).如果没有选择,你就会使用与预设置的默认引擎. 如果你想要知道已经存在的MySQL数据表的类型,这里有几种方法达到. 方法一 如果你可以访问phpMyAdmin

解析Mysql多表查询的实现_Mysql

查询是数据库的核心,下面就为您介绍Mysql多表查询时如何实现的,如果您在Mysql多表查询方面遇到过问题,不妨一看.Mysql多表查询: 复制代码 代码如下: CREATE TABLE IF NOT EXISTS contact( contact_id int(11) NOT NULL AUTO_INCREMENT, user_name varchar(255), nom varchar(255), prenom varchar(255), mail varchar(64), passcode

Mysql数据表一直显示使用中的修复方法

打开phpmyadmin选择数据库查看,果然有3个表显示为"使用中".勾选之后进行"修复表",出现错误提示不能被修复. 于是接着从"分析表"."优化表"开始,均告失败.失败信息第一条:can't create new temp file 1.表损坏的原因分析 以下原因是导致mysql 表毁坏的常见原因: 1. 服务器突然断电导致数据文件损坏. 2. 强制关机,没有先关闭mysql 服务. 3. mysqld 进程在写表时被杀掉

MySQL数据表在phpmyadmin中的强制修复

是数据库就难免出错,出了错就肯定需要修复. phpmyadmin是很好的mysql管理工具,他里面就有针对某个数据库中某个表的修复功能.但是当这个表已经无法打开的时候就根本看不到这个操作(实际上是web连接). 其实随便找一个正常的数据库中正常的数据表,我们看看这个修复连接:http://localhost/phpmyadmin/sql.php?lang=zh-gb2312&server=1&db=mydb&table=mytable&goto=tbl_properties