admak

Рейтинг
130
Регистрация
19.07.2010

а оно вам нужно, этот "phpMyAdmin configuration storage"?

если нужно, то настройте:

/* User used to manipulate with storage */

$cfg['Servers'][$i]['controlhost'] = '';
$cfg['Servers'][$i]['controlport'] = '';
$cfg['Servers'][$i]['controluser'] = 'pma';
$cfg['Servers'][$i]['controlpass'] = 'pmapass';

если нет, то удалите эти строки:

/* Storage database and tables */

$cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';
$cfg['Servers'][$i]['bookmarktable'] = 'pma__bookmark';
$cfg['Servers'][$i]['relation'] = 'pma__relation';
$cfg['Servers'][$i]['table_info'] = 'pma__table_info';
$cfg['Servers'][$i]['table_coords'] = 'pma__table_coords';
$cfg['Servers'][$i]['pdf_pages'] = 'pma__pdf_pages';
$cfg['Servers'][$i]['column_info'] = 'pma__column_info';
$cfg['Servers'][$i]['history'] = 'pma__history';
$cfg['Servers'][$i]['table_uiprefs'] = 'pma__table_uiprefs';
$cfg['Servers'][$i]['tracking'] = 'pma__tracking';
$cfg['Servers'][$i]['userconfig'] = 'pma__userconfig';
$cfg['Servers'][$i]['recent'] = 'pma__recent';
$cfg['Servers'][$i]['favorite'] = 'pma__favorite';
$cfg['Servers'][$i]['users'] = 'pma__users';
$cfg['Servers'][$i]['usergroups'] = 'pma__usergroups';
$cfg['Servers'][$i]['navigationhiding'] = 'pma__navigationhiding';
$cfg['Servers'][$i]['savedsearches'] = 'pma__savedsearches';
$cfg['Servers'][$i]['central_columns'] = 'pma__central_columns';

обычно я выбираю второй вариант, в сад все лишнее.

Dram:
Получится бессмыслица - у меня ведь условиями CONCAT_WS собираются части урла и формируются ссылки на
фирмы из tables1_items в указанном диапазоне координат и данной категории и разделе.

CONCAT_WS - просто склеивает стринги, никаких условий в нем нет, все возвращаемые поля остаются без изменений.

хотя трудно не щупая базы давать советы...

---------- Добавлено 26.09.2017 в 00:48 ----------

Chukcha:
https://dev.mysql.com/doc/refman/5.7/en/comparison-operators.html#operator_between
This is equivalent to the expression (min <= expr AND expr <= max)
но там есть оговорка о типах данных
...
А зачем? Чисто теоретически ? Индекс по real?

э-э... хранить гео в риал-е - это плохая идея.

что по производительности, что по функциональности - попробуйте по координатам в типе реал выбрать дупы или сгруппировать по ним.

не... в сад флоаты и реалы, я с ними достаточно намучился при учете денег до 8 знака после запятой.

я предпочитаю гео хранить как varchar - нигде никакая дробная циферка не убежит и не станет девяткой в периоде.

по работе с гео есть еще несколько тонкостей/лайфхаков, например в случае ТС мы видим выборку(округлив, это допустимо):

WHERE `lon` > '45.16' and `lon` < '45.18' AND lat > '54.18' AND lat < '54.20'

т.е. по сути нас интересуют только первые 5 символов, что дает нам возможность построить частичный составной индекс по lon, lat, который будет максимально эффективен. что-то типа:

ALTER TABLE `geo_firm` ADD KEY `lon5lat5` (`lon`(5), `lat`(5))

ps: погонял на своей небольшой базе в 1.8М записей, можно и одним индексом по lon в пять символов обойтись

ALTER TABLE `geo_firm` ADD KEY `lon5` (`lon`(5))

результат примерно одинаковый, хотя может из-за того, что база у меня мелкая.

SELECT *  FROM `geo_firm` WHERE `lon` > '45.16' and `lon` < '45.18' AND lat > '54.18' AND lat < '54.20'
Showing rows 0 - 49 (706 total, Query took 0.0007 seconds.)

проще регулярками выдрать, да и результат будет более предсказуемый.

$txt = file_get_contents('http://api.onebound.cn/taobao/demo/demo.php?api_name=get_taobao_item&num_iid=538522618444');
if (preg_match('%<textarea.*?>(.*?)</textarea%is', $txt, $mm) ){
// print_r($mm[1]);
$aa = json_decode($mm[1], true);
print_r($aa);
}

условие у вас идет по t4, значит и начинайте джойнить с t4, т.е. как-то так:

...

FROM tables4_address AS t4
LEFT JOIN tables1_items AS t1 ON t4.item_id = t1.id
LEFT JOIN tables2_categories AS t2 ON t1.category_id = t2.id
LEFT JOIN tables3_sections AS t3 ON t1.section_id = t3.id
WHERE
(t4.geo_long BETWEEN 45.161317 AND 45.181317) AND
(t4.geo_lat BETWEEN 54.181330999996 AND 54.201330999996)

после этого можете еще поэкспериментировать с заменой каждого BETWEEN на два условия "больше" и "меньше",

по переставлять их местами, например min.long min.lat max.long max.lat. возможно при каких то комбинациях ускорится выборка.

затем создайте составной индекс по long, lat и снова потестируйте все комбинации.

ps: а какую базу вы ковыряете: osm, 2gis или еще какую?

minalexpro:
Кстати, да, это тоже крутой майнинг броузером для владельцев сайтов.
Встраиваете JavaScript на свой сайт, посетители заходят и майнят на вас ... PROFIT! :2cents:

не на своих тоже, первые ласточки уже пошли.

ждем волну, а затем новый вид меток в поисковиках: "ваш сайт майнит и может причинить.."

потом разработчики браузеров постепенно зарежут это.

у вас две таблицы :)

Dram:
UPDATE x55_cl_items

SET count_do = (SELECT COUNT(id) FROM x55_do_working WHERE x55_do_working.cl_id = x55_cl_items.id)
Этот запрос выполняется долго.

логично, что долго. для каждой строки из таблицы "item" выполняется запрос по табличке "working".

если у вас в "item" 1000 строк, то реально будет выполнено 1000+1 = 1001 sql запрос. упс, выше уже написали тоже самое, только сейчас прочитал :)

переписал ваш запрос, реально это будет два запроса, отработает моментально. нужен индекс по полю x55_do_working.id

update `x55_cl_items` t1, (SELECT id, count(*) cnt FROM `x55_do_working` group by id) t2

set t1.count_do = t2.cnt
where t1.id=t2.id

да, совершенно верно.

в if закрывающей круглой скобки не хватает

WebAlt:
/usr/bin/php -q /var/www/user/data/www/url.com/a.php

желательно еще перед этим сделать cd /var/www/user/data/www/url.com;

ну и посмотреть сам скрипт, чтобы он не использовал переменные из окружения веб сервера: $_SERVER и т.д.

---------- Добавлено 19.09.2017 в 20:08 ----------

Sower:
Скрипт запускается командой
wget -O - -q http://url.com/a.php >/dev/null 2>&1

Домен продлеваться не будет, но скрипт должен работать. Как запускать его планировщиком локально?

если это вдска или сервер и править что-то лениво, то пропишите в /etc/hosts строку

---

127.0.0.1 url.com

---

или вместо 127... - адрес вашего сервера (смотря как у вас все настроено)

и продолжайте дальше дергать wget-ом

будет конфликт, используйте внутри локейшена "if"

location ~* ^.+\.(jpg|jpeg|gif|ico|png|swf|css|js)$ {

if ($uri ~ ^.+\.(jpg|png|css|js)$) {
expires 7d;
}
...
}
Всего: 1235