java-今天面试的时候遇到一个问题,查三张表,有一百万条纪录,怎么查?他是想问什么,数据库优化吗

问题描述

今天面试的时候遇到一个问题,查三张表,有一百万条纪录,怎么查?他是想问什么,数据库优化吗

今天面试的时候遇到一个问题,查三张表,有一百万条纪录,怎么查?他是想问什么,数据库优化吗

解决方案

我不认为索引或分页是重点。
那不是怎么查的问题,而是怎么优化数据库的问题。
我觉得应该是查的方式或访问数据的方式,防止内存溢出,两种方法。
1.用游标查,而不是一下子取到内存中。
2.一回查询一定量数据,取多回。

ps: 查的时候,在有必要的时候加上HINT句,可以优化效率。
这个你也说了的话,我觉得更完美,但认为不是重点。

解决方案二:

对查询的字段加索引

解决方案三:

是问正则法则,搜索功能吧

解决方案四:

数据库优化,对字段加索引

解决方案五:

索引,分页,你可以跟他说一些提高查询效率优化的方式

解决方案六:

我面试的时候也碰到过,就是索引的建立与运用。置于数据库的优化,估计也只能说一些个人的想法吧。

解决方案七:

一百万,不多,根据数据的性质建立索引!

解决方案八:

就是让你谈一下索引的应用,说白了就是查询效率的优化

时间: 2025-01-19 16:02:10

java-今天面试的时候遇到一个问题,查三张表,有一百万条纪录,怎么查?他是想问什么,数据库优化吗的相关文章

select-mybatis一对多查询 只能查一张表信息,另一个查不出来

问题描述 mybatis一对多查询 只能查一张表信息,另一个查不出来 public class FamilyMember{ private String uid; private String familyId; private String memberId; private String memberFeeling; } public class Member { private String memberId; private String firstName; private Strin

sql语句-如何用SQL语句实现两张表(无关联)查询后,分别将各自的一个字段,插入一个新表。

问题描述 如何用SQL语句实现两张表(无关联)查询后,分别将各自的一个字段,插入一个新表. 有A.B.C三张表如下, 表 A 表B 学生ID(主键) 学生名称 课程ID(主键)| 课程名称 表 C 学生ID 课程ID (联合主键) 那么,通过SQL语句操作如何用学生姓名和课程名(只能获取学生姓名和课程名)将课程ID和学生ID插入到C表(C表中有课程ID和学生ID并且是联合主键),感激不尽. 解决方案 你可以定义2个变量,分别从表A表B用名称查询到ID.在表C的新增语句中使用这2个变量. 不过你这

我想问一个问题 在azure 用Windows虚拟机搭建VPN 最大支持多少并发量

问题描述 我想问一个问题 在azure 用Windows虚拟机搭建VPN 最大支持多少并发量 我想问一个问题 在azure 用Windows虚拟机搭建VPN 最大支持多少并发量 如果点到站点的是多少? 站点到站点的是多少? 解决方案 azure和windows server都没有限制.但是根据用户负载,过多的连接实际上已经过慢而变得不可用. 经验值是,如果你是A1实例的虚拟机,支持一般的网页浏览和移动终端使用,大约可以支持10个用户. 解决方案二: 取决于你的机器的性能,你申请的资源 解决方案三

100高分!如何让一个DataSet中生成两张表并对两个表进行计算!在线等!

问题描述 比如我用两个SQL语句从数据库中得到两个表的结果,如下:stringSQL_1="select*fromtable1whereid='abc'";stringSQL_2="select*fromtable2wherexuehao='2008'"; 得到以上两个表之后,我想通过一个DataSet装载这两个表:dt1和dt2:如果两个表中的其它数据不一样,但是有个相同的主键,我如何能够通过程序来对这两个表进行计算?计算好了之后再在一个DataGridView中

一个简单动态列插入表的问题,立马给分

问题描述 请问大家一个问题加入我现在有一个DataTabe,其中存储的数据行,其列数不固定,但其列名对应数据库的列字段,请问我如何动态的将其插入到数据库中,请大家赐教,我想用SQLPARAMETER,但是苦于维数在定义的时候必须是常数,所以我就没招了如c1c212还有加入DataTable有成千上万条,这样插入效率如何提高?我是要将一个库的表数据复制到另外一个表,但是需要复制的列字段可以动态选择 解决方案 解决方案二:看了半天,是不是你把所有的Table都放一同一个Table中存储了???解决方

mysql单表体积和一个库设计多少张表为妥

这篇文章来自于看博客园一个园友的分享经历,原文:http://www.cnblogs.com/qqloving/p/3427138.html   他不清楚mysql一个库里面分多少张表合适,他一个库分了8000张表.于是我看了,忍不住作答.   于是以个人随笔的形式给自己做知识备忘吧.   1.单表体积多大的时候需要分表   曾经看过一个博客,分析到什么情况下需要分表. 单表形式访问(也就是对这个表的访问不涉及到join联合查询):单个表的体积大于2g的时候.或者说,单个表的行数达到一千万的时候

想问朋友面试中遇到的一个算法题:

问题描述 想问朋友面试中遇到的一个算法题: Write a program in Java to assess a given string whether it complies with following patterns. Return true if a given string complies with these patterns else false. N = N1 + N2 N>= N1 >= N2 where N is the Nth element in the str

java 面向对象面试集锦_java

java  面向对象:这里整理了面向对象的基础知识,帮助大家学习理解,希望能帮助到大家,这里是 根据公司面试资料整理的相关知识: Overload和Override的区别.Overloaded的方法是否可以改变返回值的类型? Overload是重载的意思,Override是覆盖的意思,也就是重写.重载Overload表示同一个类中可以有多个名称相同的方法,但这些方法的参数列表各不相同(即参数个数或类型不同). 重写Override表示子类中的方法可以与父类中的某个方法的名称和参数完全相同,通过子

★★★最新,最全的java就业面试资料★★★

问题描述 推荐一个很好的资源java就业面试宝典给大家,我已经全部分类了,命中率高达80%哦!下载地址如下: