2 feiyangdeling feiyangdeling 于 2013.11.21 12:02 提问

mysql问题:从三个表查询数据优化

我有三个表,三个表的数据全部查询出来再排序,三个表的数据都很大,如何查询才能最节省资源,最优。

2个回答

u011377450
u011377450   2013.11.21 15:39

可以建一个视图,把你经常要用到的字段放入视图中,当然和你的查询语句也有关系

a_liujian
a_liujian   2013.11.21 15:50

楼上说的建视图,有点换汤不换药吧!

大数据量查询,建议去看看索引方面的东西吧

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
MySQL优化总结—查询总条数
1:count(*)和count(col) COUNT(*)通常是对主键进行索引扫描,而COUNT(COL)就不一定了,另外前者是统计表中的所有符合的纪录总数,而后者是计算表中所有符合的COL的纪录数。还有有区别的。优化总结,对于MyISAM表来说:1.任何情况下SELECT COUNT(*) FROM tablename是最优选择;2.尽量减少SELECT COUNT(*) FROMtablen
MySQL中针对大数据量常用技术:查询优化,数据转移
如今随着互联网的发展,数据的量级也是撑指数的增长,从GB到TB到PB。对数据的各种操作也是愈加的困难,传统的关系性数据库已经无法满足快速查询与插入数据的需求。这个时候NoSQL的出现暂时解决了这一危机。它通过降低数据的安全性,减少对事务的支持,减少对复杂查询的支持,来获取性能上的提升。但是,在有些场合NoSQL一些折衷是无法满足使用场景的,就比如有些使用场景是绝对要有事务与安全指标的。这个时候No
mysql 读写高并发大数据表优化
1.更新频繁尽量使用innode引擎,支持行级锁,降低锁粒度,提高并发量。 2.考虑使用mysql 主从做读写分离,可以利用主库更新,从库进行查询。分担数据库压力,提高并发。 3.考虑使用reids nosql类内存数据库进行读写分离。查询通过先redis查询,无结果再查询mysql,同时将mysql数据库查询存入redis。 4.利用mysql表分区(1-1024),减小表粒度,块式管理数
性能优化-单表数据过大
1.项目背景 当数据库单表数据量达到一定程度时,数据查询变得很慢很慢,建立索引已经无法提高查询速度时,该如何对查询速度进行优化呢? 以单表的数据量达到八千万数据, 由于之前的架构设计,数据库设计的原因,直接导致数据库服务器负载过高,cpu 使用率接近百分百, 后端迟迟无法返回数据给前端或返回数据时间高达20-30s,前端不停的请求数据,进一步导致数据库负载增高,差点死亡。
【Mysql性能优化四】数据表的设计和读写分离技术
mysql优化可以从子查询,数据类型和索引等多个方面进行优化。这些都是从sql语句的方向进行考虑的。当我们的sql语句没有优化的空间的时候, 我们就必须从其他方面来考虑进行数据库性能优化了。 数据表设计范式化和反范式化范式化是指我们在设计表时要遵循数据库设计的三个范式,通常要符合第三范式:表中的列之间不能存在传递依赖。 但这并不是一定的。为了查询效率考虑,把原本符合范式化的表设计适当增加冗余,以空间
有一张表里面有上百万的数据,在做查询的时候,如何优化?从数据库端,java端和查询语句上回答
1)数据库设计方面:   a. 对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 b. 应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: select id from t where num is null 可以在num上设置默认值0,确保表中num列没有null值,然后这样查询
MySQL SQL 优化案例:JOIN派生表
优化之前: SELECT   ap.institution_id,   date(ra.create_time) date,   sum(     IF (       ra.confirm_amount > ld.debit_amount,       ld.debit_amount,       ra.confirm_amount     )   ) return_
Sql三张表的连接查询
在做开发的时候,有时候会遇到多张表的连接查询,写两张表的连接查询,都会觉得很简单,但是超过这个数量的时候,可能会觉得难,其实,只要你分清楚表和字段,多表查询也能简单解决: //这是三张表的左连接查询; select DISTINCT t1.* FROM crm_wy_fee_record t1 LEFT JOIN crm_wy_fee_record_detail t2 on t1.ord
MySQL千万级别表数据中提高RAND随机查询的实验
1,准备测试数据 1.1 建库建表mysql> create database hwdb;Query OK, 1 row affected (0.34 sec) mysql> mysql> show create table t_huawei;+----------+------------------------------------------------------------------
MySQL从无关联的两个或多个表中查询数据,列转行等
在同一条sql中查询两个或多个无关联的表,将查询结果显示在同一行