241 Востаннє редагувалося 221VOLT (13.03.2016 21:21:49)

Re: Вивчаю базу даних MySql

насправді повністю память чиститься після того як php "народився, відпрацював і вмер",

ніякі функції у чистому(тобто не ретранслятори у інші мови) php не очистять память щоб використовувати для роботи один і той же скрипт без зупинки довго чи дуже довго,
як ви вище і переконалися --

конструкції у памяті висять, лише значення затерті нулями

хтось може сказати - а як же для прикладу unset($_SESSION) ?
відповідь - память тече-протікає і тут

хтось може сказати - кидайте php беріть java чи nodeJS - там память не тече так
відповідь - це обман, порівняйте як працює память у java і як у erlang,,
і nodeJS також протікає нехило - хоча й фіксять-фіксять з кожною версією - кінця фіксам не видно)))

у ерланга у порівнянні з php чи джавою чи й нодою - майже не тече, і все-одно --- все є відносно,
у ерланга також є свої способи покращення роботи з памяттю і мікропроцесором


imho результативніше не намагатися заставити зомбі-скрипт php "не вмирати", а узяти для цих задач відповідний інструмент
php "створений вмирати" - скрипт запустився-видав результат - помер

я розумію що ви не це питання тут зараз підняли, але ці функцію до php-зомбі ведуть))
imho

Подякували: Анатолій, leofun012

242

Re: Вивчаю базу даних MySql

загалом я не зовсім зрозумів, що мається не увазі "память тече", чи мається -> затерли дані, а вони все рівно не стерлись, - що ж? я це питання не розгядаю.

виходить що free_result() просто справді стирає дані обєкту, ніби покористувався та й прибрав за собою,
хоча  зустрічаю по відгукам що практикується просто після використання врезультуючої вибірки даних із БД просто закрити зєднання з БД $db->close();, результат буде тий самий, все автоматично затреться. (напевно, непровіряв, хоча напевно разок провірю)
повернусь щодо free_result() зустрів коментарій на stackoverflow

..., PHPs execution pattern means that everything will eventually be cleaned up behind you, and thus, you dont necessarily need to worry about releasing memory. However, if youre allocating a lot of result objects, or if you are allocating particularly big result objects (e.g., fetching a large amount of data), then you should probably free the memory when you are done to prevent problems further down the path of execution. This becomes especially important as your application starts to get more traffic, where the total amount of memory tied up across sessions can quickly become significant.

спробую перекласти орієнтовну суть на українську мову:

Патерн PHP скриптів виконується таким чином, що все буде очищено по завершенні,- тому немає необхідності турбуватись за очищення памяті.
Тим не менш, якщо ви маєте багато результуючих вибірок з бази, чи маєте досить здоровий один обєкт ( наприклад дістали велику кількість даних), то вам бажано було б почистити память таким чином упереджуючи проблеми в подальшому під час вашої роботи.
Це може бути особливо важливим коли ваші додатки беруть  багато ресурсів(трафіку), та де загальний обєм памяті зменшується під час сесій.

можете поправити якщо де помилився в перекладі

243 Востаннє редагувалося 221VOLT (15.03.2016 00:56:18)

Re: Вивчаю базу даних MySql

"память тече" --- означає що зайнята оперативка все збільшується і збільшується,
і ніякі "хитрості та лишніє телодвіженія" це "протікання памяті" не зупинять ---
тобто не вивільнять цю зайняту память, окрім зупинки-"вмирання" скрипта і запуску скрипта заново


ну то й що, що ви затерли нулями значення обєкту для виводу у памяті?
обєкт все одно залишився, він все-одно так само "їсть память" )))

Подякували: leofun011

244

Re: Вивчаю базу даних MySql

Що таке результуюча вибірка та асоціативний масив в теорії Баз Даних?

здається для тих хто має бажання ознайомитись із базами даних почитати було б корисно.

До створення статті про асоціативний масив мене підштовхнули функції php: fetch_assoc, fetch_array, fetch_row та інший фетч :)
Fetch - з англійського отримувати, діставати, що ж до assoc, то напевно ж це буде associative, він же асоціативний.
Що ж, маю бажання визначитись, що таке асоціативний масив даних при роботі із базами даних, та як з ним працювати?

http://не-дійсний-домен/pictures_06/DBMS.png

детальніше по матеріалу Асоціативний масив в теорії Баз Даних? на власній сторінці

Подякували: 221VOLT, leofun012

245 Востаннє редагувалося Анатолій (24.03.2016 11:32:42)

Re: Вивчаю базу даних MySql

SQL інєкція

Розглядаю тематику безпечного збереження даних в таблиці БД, що надходять від користувача веб-сайту Навчальна стаття - фільтрація та шифрування вхідних даних(PS Редагується). І на офіційному php.net натрапив на невеличку статтю за темою SQL Injection, гадаю буде корисно прочитати тай заодно попрактикуватись із англійським перекладом.


http://не-дійсний-домен/pictures_06/comics_security.jpg

Подякували: 221VOLT, leofun012

246

Re: Вивчаю базу даних MySql

Prepared Statements

http://image.itmedia.co.jp/ait/articles/0304/18/r3fig2.gif
Pictures for fun, але варто буде придумати свій рисунок Prepared Statements :)

Куди  ж без Prepared Statements, гадаю повинна бути занотована відповідна тема, тому от наразі все ще працюю над перекладом тексту за ресурсом php.net тема Prepared Statements і по ходу справи задам ось таке от питання, мг-м-м...

Як в тій грі "Що? Де? Коли?" грає Анатолій проти місцевих знавців, розігрується +1 до рейтингу
Питання в студію, За документацією php, речення:

Every prepared statement occupies server resources.

Підготовлені Вирази, ( я ж правильно розумію переклад Prepared Statements?) займають певні ресурси серверу БД, а Як можна оцінити наскільки багато ресурсів забирають підготовлені вирази?
Час пішов... :)
Дякую шановне панство знавців!

Подякували: 221VOLT1

247

Re: Вивчаю базу даних MySql

Завершив першу частину розгляду теми

Санітаризація вхідних даних HTML-форми

http://не-дійсний-домен/pictures_06/sql_injection.png

Подякували: leofun01, 221VOLT2