- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 MySql 中遇到了对大量数据进行查询处理的问题。我需要通过连接函数将数据提取到四个以上的表中。查询在服务器上运行速度非常慢。
如何优化多个连接查询的处理时间。
我目前正在使用 innodb 引擎。批量数据表是可以的。
我有这样的表格
这些表中的数据 exam,students,subjects,subject_tests,subject_test_mark,total_subject,
我得到所有学生当前考试的记录。
这之前会通过多个 for loops 处理。连续的数据库访问。这是放慢我的进程的一个原因。如何通过 SQL 避免这些情况。向我提出一些受欢迎的想法。
我对此有些怀疑。表引擎innodb好不好。索引是否支持这个过程?
SELECT `sub`.student_id,
((sum( `sub`.total / `main`.max_total )) / count( sub.id )) *10 AS percent,
GROUP_CONCAT((sub.total / main.max_total) *10 ORDER BY (sub.total / main.max_total) *10 DESC SEPARATOR ',' ) AS marks
FROM
`cmark_batch` AS `main`
LEFT JOIN `cmark_para_total` AS `sub`
ON `sub`.mark_batch_id = `main`.id
WHERE main.batch_id =29
AND main.term =4
AND main.subject_id =64
AND main.status = 'A'
GROUP BY student_id
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE main ref search search 8 const 85 Using index condition; Using where; Using temporary; Using filesort
1 SIMPLE sub ref finder finder 8 newlive.main.id 14 NULL
SELECT t1.mark_batch_id, t1.id, t1.param_name, t1.max_mark,t2.student, t2.mark
FROM `cmark_parameter` AS t1
LEFT JOIN `cmark_parameter_mark` AS t2 ON t1.id = t2.mark_parameter_id
WHERE t1.mark_batch_id
IN (621,620,623,622)
AND t1.status = 'A'
AND t2.status = 'A'
ORDER BY `t2`.`student` ASC
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t2 ALL NULL NULL NULL NULL 78835 Using where; Using filesort
1 SIMPLE t1 eq_ref PRIMARY PRIMARY 8 newlive.t2.cmark_parameter_id 1 Using where
SELECT t1.student_id, t1.mark_batch_id, t1.total
FROM `cmark_para_total` AS t1
WHERE t1.mark_batch_id
IN (621,620,623,622)
AND t1.status = 'A'
ORDER BY `t1`.`id` ASC
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 range finder finder 8 NULL 111 Using index condition; Using where; Using filesort
最佳答案
您可以使用数据库缓存来减少加载复杂查询的时间。在 Mysql 手册中描述了如何启用数据库缓存:
http://dev.mysql.com/doc/refman/5.1/en/query-cache.html
在您的查询中,您必须添加属性 SQL_CACHE 以启用缓存,例如:
SELECT SQL_CACHE id, name FROM customer;
关于php - 喜欢一些MySql Optimization techniques for Bulk data table,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23008547/
我们在Salesforce中有批量的短信Api代码吗?我在Twilio文档中没有找到。请在相同的指南中找到。。我已经搜索了Twilio文档和谷歌它,但没有找到相同的预期结果。是否有任何相关的帖子、代码
我正在尝试使用 libusb1.0.9 实现用户空间 USB 驱动程序。我有 lpc2148 蓝板(ARM7)。这个板由 Bertrik Sikken 先生加载了开源 USB 堆栈/固件。现在我的用户
在python脚本中, 我正在尝试 elasticsearch.helpers.bulk 来存储多个记录。 我将从另一个软件中获取json格式的字符串,并将其附加到源代码部分中 我通过此answer获
我正在管道中使用附件处理器Attachment Processor。 一切正常,但是我想做多个帖子,然后尝试使用bulk API。 批量工作也很好,但是我找不到如何发送url参数“pipeline =
我正在尝试基于简单的文本文件创建批量文件夹。 os.makedir 有助于创建新文件夹,但我不确定如何将 newpath 变量与文件夹列表合并。以下是我正在尝试的。我知道代码有语法错误。因此需要一些帮
代码如下: -- Created on 2010/11/04 by WANGNAN declare -- Local variables here&nb
我想知道是否使用 BULK COLLECT INTO多个集合保证行中的相应列在嵌套表中具有相同的索引。 例子: CREATE TABLE tx AS SELECT CAST(level AS INT)
我对以下 PL/SQL BULK-COLLECT 进行了修补,它对大表 (>50.000.000) 的更新速度惊人地快。唯一的问题是,它不执行每个表剩余 < 5000 行的更新。 5000 是 FET
我正在使用 BULK INSERT导入 CSV 文件。 CSV 文件中的一列包含一些包含分数的值(例如 1m½f )。 我不需要对分数进行任何数学运算,因为这些值仅用于显示目的,所以我将列设置为 nv
以下是我尝试上载具有一百万条记录的文件时遇到的一些问题。帮助我解决问题。当我尝试在博客中找到解决方案时,所有人都建议修改一些逻辑。但是我直接使用redisgraph-bulk-loader实用程序。
我将不得不使用 SQL Server 的 BULK INSERT 命令重写一些相当旧的代码,因为架构已更改,我突然想到也许我应该考虑改用 TVP 切换到存储过程,但我想知道是什么它可能对性能产生影响。
我需要在 azure 函数中发送批量补丁请求。我已经阅读了他们关于名为“bulk( )”的函数的非常简约的文档,这就是我目前拥有的 const response = await container.i
我试图将文档批量插入索引中。我需要_id等于我要插入的特定字段。我正在使用ES v6.6 POST productv9/_bulk { "index" : { "_index" : "productv
假设我有1000个用户,每个用户有50个文档(每个文档嵌入具有名称和电子邮件的用户对象),我需要为一组用户更新名称和电子邮件。 我想使用Bulk Api,但似乎bulk API仅支持“_id”作为参数
我正在使用curl将apache日志作为文档添加到使用批量API的elasticsearch中。我发布以下内容: {"index": {"_type": "apache", "_id": "123",
我正在使用 Marklogic 8.0.6,我想知道我们是否可以批量删除。例如,我想删除 150 000 个文档,这些文档可以通过 URI 列表或通用属性(字段 COUNTRY=US 和 COLOR=
我正在使用Elasticsearch版本6.7.2,但出现错误429 { "error": { "root_cause": [ {
我是Elasticsearch的新手。 我需要使用NEST api使用批量选项插入文档。 我必须从表中索引5000个文档。以下是我用于批量索引编制的代码。 public ActionResult Cr
我正在尝试使用带有格式文件的 BULK INSERT 将 .CSV 文件导入到 SQL Server 表中。我可以导入它,但任何拉丁字符都会作为奇怪的字符导入。我为自己完成这个个人项目感到非常自豪,但
我试图找出为什么我使用的 BULK INSERT 命令无法识别该命令中使用的 FORMAT 和 FIELDQUOTE 选项。 BULK INSERT dbo.tblM2016_RAW_Current_
我是一名优秀的程序员,十分优秀!