|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
[2020-01-24 09:47 UTC] cmb@php.net
[2020-12-13 21:43 UTC] dharman@php.net
-Status: Open
+Status: Verified
[2020-12-13 21:43 UTC] dharman@php.net
[2020-12-16 13:49 UTC] nikic@php.net
|
|||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Fri Oct 24 09:00:01 2025 UTC |
Description: ------------ SELECT EXISTS in the query fills up the memory. see test-script below. Test script: --------------- <?php $start = microtime(true); var_dump(memory_get_usage(true)); for ($i = 0;$i<100000;$i++) { $sql = 'SELECT 1 FROM `article` WHERE a_nr = "'.$mysqli->real_escape_string(bin2hex(random_bytes(10))).'" LIMIT 1'; $mysqli->query($sql); } var_dump(microtime(true) - $start, memory_get_usage(true)); $start = microtime(true); for ($i = 0;$i<100000;$i++) { $sql = 'SELECT EXISTS ( SELECT 1 FROM `article` WHERE a_nr = "'.$mysqli->real_escape_string(bin2hex(random_bytes(10))).'" LIMIT 1 )'; $mysqli->query($sql); } var_dump(microtime(true) - $start, memory_get_usage(true)); Expected result: ---------------- memory1: int(4194304) memory2: int(4194304) momory3: int(28311552) Actual result: -------------- php memory fills up in the second query