|
|
|
оптимизация between : where 'const' between f1 and f2
|
|||
|---|---|---|---|
|
#18+
alex564657498765453, я бы предложил заранее таблицы geo_locations и geo_ipranges сджойнить в одну. alex564657498765453 Код: sql 1. а этого вообще не понял. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2014, 18:10:43 |
|
||
|
оптимизация between : where 'const' between f1 and f2
|
|||
|---|---|---|---|
|
#18+
miksoftalex564657498765453, я бы предложил заранее таблицы geo_locations и geo_ipranges сджойнить в одну. alex564657498765453 Код: sql 1. а этого вообще не понял. :) Коментарий к строчке кода from ap_files a order by a.idap_file desc limit 10 берём последние 10 записей логов, для которых хотим найти по айпи откуда человек ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2014, 19:35:31 |
|
||
|
оптимизация between : where 'const' between f1 and f2
|
|||
|---|---|---|---|
|
#18+
вообщем может кому полезно будет. Остановился на варианте geo_ipranges (id - autoincrement,start - start ip,end - end ip,fk_idlocation - fk to geo_locations table) Код: sql 1. 2. 3. 4. 5. я использовал подобный запрос в процедуре, которая обходит курсор(выборка из таблицы логов) где есть айпи клиента, и вот надо дорисовать (обновить) соседнее поле где изначально 0 ссылкой на локацию этого айпишника. 50000 строк обработало - найти по айпишнику локацию и обновить за секунд 10 тоесть единичное определение, там основное время занимает сетевые издержки. всем спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2014, 21:55:30 |
|
||
|
оптимизация between : where 'const' between f1 and f2
|
|||
|---|---|---|---|
|
#18+
SELECT t1.region_id, t2.end - t2.start as a1 FROM ".REGIONS_TABLE." AS t1, ".IPS_TABLE." AS t2 WHERE t2.start < ".ip2long_edit($ip)." AN D t2.end > ".ip2long_edit($ip). " AND t2.region_id=t1.region_id ORDER BY a1 LIMIT 1 ну это у меня так. Тут внимание на ф-ю ip2long, получающую в параметре нормальный IP: Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.08.2014, 16:23:45 |
|
||
|
оптимизация between : where 'const' between f1 and f2
|
|||
|---|---|---|---|
|
#18+
iova1984SELECT t1.region_id, t2.end - t2.start as a1 FROM ".REGIONS_TABLE." AS t1, ".IPS_TABLE." AS t2 WHERE t2.start < ".ip2long_edit($ip)." AN D t2.end > ".ip2long_edit($ip). " AND t2.region_id=t1.region_id ORDER BY a1 LIMIT 1 ну это у меня так. Тут внимание на ф-ю ip2long, получающую в параметре нормальный IP: Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. чтото я не понял ни смысла запроса, ни в чом его оптимизация по производительности... IP_STRING -> IP_INT php - ip2long mysql INET_ITON reverse php - long2ip mysql INET_NTOI ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.08.2014, 20:29:55 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=38721434&tid=1834358]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
61ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
| others: | 208ms |
| total: | 347ms |

| 0 / 0 |
