Задача чтение без дублей.При limit 1 у вас и так дублей не будет
Так как операций очень много в короткий промежуток, вероятность того что будут дубли при взятии очень большаяЧто за взятие? Выборка? При лимит 1 вероятность дублей равна нулю, вы же выбираете 1 запись, какие дубли?
тоже касается и с селектом и последующим удалениемЭто вообще причем? Что за логика стоит за выборкой СЛУЧАЙНОЙ записи с ее последующим удалением?
Моя задача исключить дубли при чтении, для этого и беру строки рандомно и с удалением.В ответ на нападение непонятно откуда, Америка нанесла ядерный удар куда попало? Почему рандомно, почему не конкретно дубли???
Если есть идеи как исключить дубли при чтении с такими объёмами охотно выслушаю.Самый эффективный способ не читать дубли - не записывать их в базу, что достаточно просто же реализуется, делается уникальный ключ, и дальше инсерт-он дупликэйт игнор/апдейт по ситуации. И не надо каких-то странных рандомов...
Я так и делаю, но уверен что можно обойтись одним запросом.Если вам нужен и результат выборки и удаление - то нет.
Есть на выходе кодНа выходе чего?
Чтобы его просмотреть, нужно сначала выполнить.Почему бы не выполнить его в браузере?
Каким образом его можно выполнить?Проще всего запустить в любом браузере, но так как задача описана через жеппу, подозреваю что нужно что-то другое, но что конкретно - видимо секрет...
это и есть весь код только один запрос к базе для вывода инфо юзера один SELECT И ВСЕ... ОН ВЫПОЛНЯЕТСЯ МОМЕНТАЛЬНОЕсли через какое-то время у вас фризы, значит иногда он выполняется не моментально. Собсно ваша задача отловить момент когда будут фризы и посмотреть запросл и это тормозит, или допустим интерпретатор пхп долго просыпается. Не знаю как еще объяснить что оперировать надо цифрами, а не эмоциями и ощущениями...
не совсем понял что замерятьЗамерять время работы кусков кода. Писать в массив, типа
$timing = [
[
'mark'=>'start of script',
'time'=>0
],
[
'mark'=>'init settings',
'time'=>0.05
],
[
'mark'=>'select from db',
'time'=>0.08
]
...
]
Из-за этого использования памяти составляет 0.4 мб.Так оно в системной памяти лежит, а вы смотрите сколько скрипт съел. STDOUT он как бы не часть пхп...
Если попробовать записать этот результат в переменную, установив CURLOPT_RETURNTRANSFER = true, то использование памяти возрастит в разы.
тогда почему его используют http-клиенты чтобы все не держать в памяти ? если вы говорите, что они все равно в памяти будут.Хттп предполагает формат обмена данными запрос-ответ, и держать соединение по хттп открытым накладно, хотя есть тот же лонг поллинг, но по сути это тот же запрос-ответ, только таймаут на ответ сильно задран, и ответ все равно приходит одной плюхой, не кусками. А вот потоковое видео допустим, при том же протоколе обходит это кучей маленьких запросов чанками, собсно по той же схеме, но для вас это выглядит как непрерывный поток, так как реализация скрыта за интерфейсом.