小编Kir*_*gan的帖子

了解MySQL的内存使用情况导致PHP(PDO)

我试图理解为什么单个PDO结果的内存使用率如此之高.以下是有关查询/结果的一些信息:

  • VARCHAR(6)从单个表中拉出一个列
  • 结果是不到30K行
  • 此获取该结果使用在〜PHP的存储器12MB(来源:memory_get_usage)
  • 如果我json_encode将结果转储到文件中,实际数据(文本形式)只有~1MB
  • 使用PHP7,MySQL 5.7,部署在Ubuntu 14.04上.

我的问题是,11MB的膨胀到底在哪里?如果文本形式的实际数据只有大约1MB,那么11MB似乎只是为了解析PHP中的数据而花费很多.是否有一个原因?我错过了什么吗?

编辑:

为了澄清,我正在寻找技术解释为什么存在膨胀,而不是问题的解决方法.

php mysql memory arrays pdo

8
推荐指数
1
解决办法
1395
查看次数

迁移问题:MS SQL > MySQL:插入缓冲区内存

我在使用 MySQL Workbench 上的内置迁移工具时遇到问题。

我正在将一个非常大的数据库从 MS SQL 2014 迁移到 MySQL。

MS SQL 服务器本地部署在我的 (Windows 8.1) 桌面上,MySQL 服务器在我的网络上的 Ubuntu Server 上运行。

我在迁移的最后“批量传输”阶段收到一系列以下错误。

`VHR_AGE`.`FlxTable`:Copying 33 columns of 311 rows from table [VHR_AGE].[dbo].[FlxTable]
ERROR: `VHR_AGE`.`FlxTable`:Not enough memory to allocate insert buffer of size 1073741824
`VHR_AGE`.`FlxTable`:Finished copying 0 rows in 0m00s
Run Code Online (Sandbox Code Playgroud)

表的模式迁移得很好,问题仅限于数据本身的传输。

如果您希望查看任何特定变量来帮助诊断问题,请直接询问,我会立即提供。

任何关于这方面的帮助都会很棒,所有在线资源都是半身像。

编辑:我什至不确定是 MS SQL 还是 MySQL 抛出了大小错误...

mysql sql migration workbench

5
推荐指数
1
解决办法
2486
查看次数

隐藏拖动预览 - HTML拖放

我在我的一个网站上有拖放功能.一旦你开始拖动我的一个可拖动的div,就会有一个拖动元素的透明预览.这实际上是我的用户准确放置元素的方式,因为它们拖动的内容并不直接反映丢弃的内容.

有没有办法删除或更好地将拖动预览更改为其他图像?

html javascript css jquery drag-and-drop

5
推荐指数
1
解决办法
5487
查看次数

mPDF - 不并排显示的内联块

我有一堆小表格格式化为内联块元素.在浏览器中,它们按预期并排显示,但是当使用mPDF输出它们时,它们会在每个表之后断开.无论我如何尝试格式化它们,它们总是在桌子后面打破.mPDF是否有窍门让元素并排堆叠?

我正在从页面中提取确切的HTML并通过AJAX发送它

以下是浏览器和pdf视图的示例.

HTML视图

PDF查看

我的mPDF生成器页面如下所示:

<?php
include("mpdf60/mpdf.php");

$html = $_POST['html'];

$mpdf=new mPDF('utf-8', 'A4');
$mpdf->SetDisplayMode('fullpage');

// LOAD a stylesheet
$stylesheet = file_get_contents('../../_css/main.css');
$mpdf->WriteHTML($stylesheet,1);    // The parameter 1 tells that this is css/style only and no body/html/text

$mpdf->WriteHTML($html);
$mpdf->Output('myPDF.pdf','D');

exit;
?>
Run Code Online (Sandbox Code Playgroud)

javascript css php mpdf

5
推荐指数
2
解决办法
5688
查看次数

MySQL CAST肯定会花很多时间

所以我在MySQL控制台中运行以下作为控制测试,看看是什么阻碍了我的查询速度.

SELECT bbva_deductions.ded_code, SUBSTRING_INDEX(bbva_deductions.employee_id, '-' , -1) AS tt_emplid, 
            bbva_job.paygroup, bbva_job.file_nbr, bbva_deductions.ded_amount 
            FROM bbva_deductions 
            LEFT JOIN bbva_job 
            ON CAST(SUBSTRING_INDEX(bbva_deductions.employee_id, '-' , -1) AS UNSIGNED) = bbva_job.emplid LIMIT 500
Run Code Online (Sandbox Code Playgroud)

它一直运行大约4秒钟.(似乎只有500行非常高).

简单地删除连接的CAST部分就减少了0.01秒......

为什么到现在这么慢?我在做什么来激怒MySQL神灵吗?

编辑:

这里要求的是EXPLAIN输出:

在此输入图像描述

没有CAST:

在此输入图像描述

EXPLAIN EXTENDED:

在此输入图像描述

mysql casting

4
推荐指数
1
解决办法
1640
查看次数

标签 统计

mysql ×3

css ×2

javascript ×2

php ×2

arrays ×1

casting ×1

drag-and-drop ×1

html ×1

jquery ×1

memory ×1

migration ×1

mpdf ×1

pdo ×1

sql ×1

workbench ×1