MYSQL中 select * from table1 t1, table2 t2 where t1.name= t2.name 5

name是中文,表数据1万多条,查一下要15秒,怎么解决效率问题?... name是中文,表数据1万多条,查一下要15秒,怎么解决效率问题? 展开
 我来答
帐号已注销
2021-06-02 · TA获得超过77.1万个赞
知道小有建树答主
回答量:4168
采纳率:93%
帮助的人:183万
展开全部

如果能更改表结构:

1、增加一个表table3,字段为id,name,主键id

2、table1、table2分别增加一个外键字段nameid,来自于table3的id

3、 select * from table1 t1, table2 t2 where t1.nameid= t2.nameid

比如t1中有name值为a,然后t2中有name值a跟b,当t1值比较t2值时,a=a数据不输出,a=b数据输出,表与表关联,关联条件时中的值是要全部进行匹配的。

应用环境

与其他的大型数据库例如 Oracle、DB2、SQL Server等相比,MySQL自有它的不足之处,但是这丝毫也没有减少它受欢迎的程度。对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余,而且由于 MySQL是开放源码软件,因此可以大大降低总体拥有成本。

以上内容参考:百度百科-mySQL

马可财经
推荐于2018-04-04 · TA获得超过742个赞
知道小有建树答主
回答量:445
采纳率:0%
帮助的人:274万
展开全部
如果能更改表结构:
1、增加一个表table3,字段为id,name,主键id
2、table1、table2分别增加一个外键字段nameid,来自于table3的id
3、 select * from table1 t1, table2 t2 where t1.nameid= t2.nameid
如果不能修改表结构:
1、两个表都增加索引,name
2、也可以通过程序来搞定,例如php,把两个表中的数据分别存放入两个数组,然后依据name组装数组
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yulili512

2012-10-08 · 超过13用户采纳过TA的回答
知道答主
回答量:46
采纳率:0%
帮助的人:17.9万
展开全部
感觉你要查询所有的数据,没有什么可以解决效率的,你可以建立索引
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式