Mysql 表中一列中的所有值都可以不受限制吗?

Mysql 表中一列中的所有值都可以不受限制吗?,mysql,Mysql,我试图通过查询获取客户使用的产品的产品ID select v.product_id from TableA as v join TableB as f on v.id = f.id where f.product_name = "<some_name>" and f.customer_id = "<id>" 一些东西,比如GET请求,据我记忆所及,它可以传输大约2-8kb的数据。数据的最大大小是多少?即可以通过此url连接传输的结果

我试图通过查询获取客户使用的产品的产品ID

select
   v.product_id
from
  TableA as v
join
  TableB as f
on
  v.id = f.id
where
    f.product_name = "<some_name>"
  and
    f.customer_id = "<id>"

一些东西,比如GET请求,据我记忆所及,它可以传输大约2-8kb的数据。数据的最大大小是多少?即可以通过此url连接传输的结果集数据。

您不应该在查询中使用限制。否则,您将无法获得完整的产品列表。
最坏的情况只有在您的站点上只有一个客户时才会发生。

这取决于查询的目的

是否需要评估满足该查询条件的每一行?如果是这样的话,您将需要无限制地进行选择


但是,如果您不需要分页报告中的每一行,您可以使用LIMIT MAX MIN。

MySQL可以非常快地输出一个大的结果集,但是您需要担心索引,因为您要加入,您可能还需要添加索引表bid、product\u name、,如果您使用的是MySQL 8+you better optimizer statistics,那么就创建一个客户id或直方图。我在我的应用层中得到了这个结果集。那么,当返回值的大小太大时,这会导致任何类似的问题吗?您的应用程序需要资源保留RAM内存来处理结果集。那么,我如何计算或估计结果集的大小呢?这样我就能猜出我的安全极限是多少。这里product_id是一个最大长度为80的varchar列,我想我需要咖啡,我之前给出的查询看起来完全错误,所以我删除了查询中的注释。。。选择80+2+个记录。从表B中选择count*AS record_count作为字节,其中product_name=和customer_id=AS records应该做这项工作。需要所有符合我的条件的列。然后,您需要在@NatashaBut中省略限制返回的元组数超过10时会发生什么情况大概是一个大数字。我怎么能猜到我的安全侧限值?同意@RaymondNijland。如果您发现查询在某些方面效率低下,那么您可能需要查看WHERE子句中字段的索引,或者其他优化数据的方法。@Natasha在这里随口吐痰:如果用户按需触发此查询,您可以向他们提供在GUI中限制查询的选项,或者在后台运行,稍后通过电子邮件向他们发送响应。
String url = "jdbc:mysql://" + host + ":" + port + "/" + dbname; 
String clazz = "org.gjt.mm.mysql.Driver"; 
Driver driver = (Driver) Class.forName(clazz).newInstance();
DriverManager.registerDriver(driver);
return DriverManager.getConnection(url, user, pwd);