我有一个相当大的MySQL表(关于15,000+行),我正在寻找一种方法来执行以下查询,但以一种更有效的方式:
SELECT col, otherCol, theOtherCol
FROM table
WHERE anotherCol > 0
ORDER BY ohACol DESC
这个查询在我的VPS上使用了太多的RAM,我可以理解,因为它选择了超过15,000行。我确实知道我需要15,000+中的哪5个索引(按照DESC顺序排序后)。我怎么才能只把这5个放入我的结果集中,而不是全部放入15,000个呢?
我在一个月前安装了mysql。我每天都在使用,没有任何问题。而现在,我的mysql非常奇怪。我可以登录到mysql,并且总是成功。但是,有时不能运行查询。
下面是unseccessfull查询的示例:
gai@gai-Lenovo-G470 ~ $ mysql -uroot -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.5.47-0ubuntu0.14.04.1 (Ubuntu)
Copy
当使用大量数据进行插入时,即:
INSERT INTO table (mediumtext_field) VALUES ('...lots of text here: about 2MB worth...')
MySQL返回
"OperationalError:(2006年,'MySQL服务器已经消失‘)
这是在启动脚本的一分钟内发生的,所以这不是一个超时问题。而且,mediumtext_field应该能够保存~16‘t的数据,所以这不应该是一个问题。
有什么想法是什么导致了错误,或者如何绕过它?
正在使用的一些相关库:mod_python 3.3.1、My
如果使用相同的DBMS作为Metastore,SELECT * query (no ORDER BY)的结果的顺序是否总是相同的?
因此,只要使用MySQL作为Metastore,SELECT *;查询的结果顺序将始终相同。如果使用Postgres,则对于相同的数据,顺序总是相同的,但与使用MySQL时不同。我说的是同样的数据。
也许这一切归结为一个问题:结果的默认顺序是什么,为什么MySQL和会有所不同。
假设我想要将印度手机号码存储在一个MySQL表中,因为记录的数量非常大,所以我想优化我的存储。印度的移动电话号码是10位数字,通常以7、8或9开头。例如9XXXXXXXXX。
相关的MySQL字段有:
Type Storage Minimum Value Maximum Value
(Bytes) (Signed/Unsigned) (Signed/Unsigned)
INT 4 -2147483648 2147483647
解释:
为一个封闭的PHP程序编写一个扩展,我需要根据这些示例查询添加一些数字。
SELECT sum(value) AS sum1 FROM table WHERE user_id=X AND text='TEXT_HERE_A'
SELECT sum(value) AS sum2 FROM table WHERE user_id=X AND text='TEXT_HERE_B'
在PHP中添加这些数字,然后在数据库中更新字段
$update = $sum1 + $sum2 - $php_sum;
UPDATE table SET value=$update
我得到了这个错误:
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
at com.mysql.jdbc.MysqlIO.nextRowFast(MysqlIO.java:1585)
at com.mysql.jdbc.MysqlIO.nextRow(MysqlIO.java:1409)
at com.mysql.jdbc.MysqlIO.readSingleRowSet(MysqlIO.java:2886)
at com.mysql.jdbc.Mysql
在我们的应用程序中,我们有非常大的数据。我们需要为各种条件做聚合和计算(基于用户在UI中选择的内容)。
1)由于数据非常大,是否建议执行所有
aggregations(business logic) in database(procedures) ?or 2)Will there be a major impact if done in Business Layer after getting data from DB? As all the data will be converted to objects and then aggregation is done.