сделать частное решение на javascript. т.к. спамилки заточены под массу, можно капчу дергать яваскриптом,чтобы на ней были заданые символы и также яваскриптом проверять правильность ввода капчи. дело за малым, найти сервис который бы генерил капчу по заданным буквам :)
Challenger: Здравствуйте дорогие друзья :)
Сейчас работаю над проектом который включает в себя mysql таблицы с записями от 2 и более миллиона строк. Малейшая оптимизация и максимально правильные запросы дадут хороший прирост производительности. - поэтому решил обратиться к профессионал и людям с опытом, т.е. к Вам :)
Вопрос 1:
Возможно ли проапдейтить эти все строки одним запросом?
можно конкатенировать и жахнуть одним запросом.
можно prepare($sql) и в цикле разные значения. если поддерэиваются транзакции то делать в одной, будет ощутимо быстрей.
Challenger:
Вопрос 2 - про вложенные таблицы
Есть две таблицы таблица данных и таблица сопоставлений
Таблица данных Table1 - Id первичный ключ
id | value1 | value2 | value3
Таблица сопоставления Table2 - Id первичный ключ
id | sub_id | value-
Каким оптимальным запросом можно получить 200 случайных строк из таблицы данных table1, при этом этих строк (id этой строки) не должно быть в таблицы сопоставлений table2 (поле sub_id)
Пробовал делать так:
SELECT * FROM table1 WHERE not exists (SELECT id FROM table2 WHERE sub_id=table1.id LIMIT 1) ORDER by RAND() LIMIT 200
Но такой запрос выполняется чудовищно долго :( Гораздо быстрее получить первым запросом и перебрать потом циклом второй.
Заранее спасибо за ваши ответы и комментарии:)
select t1.* from table1 t1 left join table2 t2 on t1.id=t2.sub_id where t2.sub_id is null order by rand() limit 200;
на http://paste.org.ru весь скрипт.
или хотя бы строку на которой эта ошибка. ну и пример текста на котором падает.
сделать частное решение на javascript. т.к. спамилки заточены под массу, можно капчу дергать яваскриптом,чтобы на ней были заданые символы и также яваскриптом проверять правильность ввода капчи. дело за малым, найти сервис который бы генерил капчу по заданным буквам :)
добавить в таблицу дату добавление и хранить соотвественно где-то дату последнего просмотра. тогда можно выбрать date_add > дата_последнего_просмотра
$ch = curl_init();
$ip = '192.168.0.1';
// set URL and other appropriate options
curl_setopt($ch, CURLOPT_URL, "http://www.example.com/");
curl_setopt($ch, CURLOPT_INTERFACE, $ip); с этого адреса пойдет запрос
//много других опций
// grab URL and pass it to the browser
curl_exec($ch);
// close cURL resource, and free up system resources
curl_close($ch);
Здравствуйте дорогие друзья :)
Сейчас работаю над проектом который включает в себя mysql таблицы с записями от 2 и более миллиона строк. Малейшая оптимизация и максимально правильные запросы дадут хороший прирост производительности. - поэтому решил обратиться к профессионал и людям с опытом, т.е. к Вам :)
Вопрос 1:
Возможно ли проапдейтить эти все строки одним запросом?
можно конкатенировать и жахнуть одним запросом.
можно prepare($sql) и в цикле разные значения. если поддерэиваются транзакции то делать в одной, будет ощутимо быстрей.
Вопрос 2 - про вложенные таблицы
Есть две таблицы таблица данных и таблица сопоставлений
Таблица данных Table1 - Id первичный ключ
id | value1 | value2 | value3
Таблица сопоставления Table2 - Id первичный ключ
id | sub_id | value-
Каким оптимальным запросом можно получить 200 случайных строк из таблицы данных table1, при этом этих строк (id этой строки) не должно быть в таблицы сопоставлений table2 (поле sub_id)
Пробовал делать так:
SELECT * FROM table1 WHERE not exists (SELECT id FROM table2 WHERE sub_id=table1.id LIMIT 1) ORDER by RAND() LIMIT 200
Но такой запрос выполняется чудовищно долго :( Гораздо быстрее получить первым запросом и перебрать потом циклом второй.
Заранее спасибо за ваши ответы и комментарии:)
select t1.* from table1 t1 left join table2 t2 on t1.id=t2.sub_id where t2.sub_id is null order by rand() limit 200;
Скрипт системы обмена трафиком.
скрипт readme
скрипт marketgid
скрипт redtrum
есть у кова подобие?
поищи CJ script
ох, действительно. я уже не совсем начинающий. как же я так лопухнулся...
пишите константу слева.
если база не по населению китая, то не сложно)
это такой новый способ спама? :)
my $str = "site.ru/lalasite.ru/lalala/page/?_openstat=параметр";
$str =~ s/\?.*//;
print $str;