Иван: оговорка - я предполагаю, что скорее всего используется XPath. но найти хороший пример данной реализации оказалось задачей не тривиальной. что вы можете в вашей софтине? ну т.е. вы можете написать банально написать alert('hi') если да, то далее вам нужно попробовать www.w3schools.com/xml/xpath_examples.asp и далее постараюсь найти или сделать пример использования xpath в связке JavaScript+Excel вроде должно быть но не нашел.
Оптимус Пьян: "простой запрос в одну строку" звучит как "мир во всем мире" ближе к вашему примеру можете уточнить? и почему "запрос"? если не использовать базу данных использовать файловую систему или другую базу данных? ваша модель имеет ограничение использования определенную базу данных?... если вы уж решили что вы без фреймворков пишите, то может стоит задуматься о масштабируемости архитектуре пока не поздно?
(1)если придерживаться принципа "результат определяет решение", то пример кода, который как вы считаете "плодит портянку" в каком виде вы хотите видеть в результате? допустим в виде функции: ->set($table_name, $arr_values ) что вам мешает реализовать такую функцию в одном из родителей классов ваших? (2)не биндятся, т.е. вы боитесь, что если просто сформировать $sql, то не безопасно, а если биндишь, то безопасно... в чем вопрос? (3) тоже вопрос не понятен, строку с скл сформировать и передать в pdo->prepare... возможно проблематика пунктов 2 и 3 достойны отдельной ветки обсуждения...
ragimovich: sochi-russia: Владимир: только в файле iata : null и используется icao, можно еще использовать поиск по строке, если не нравятся циклы. Или можно преобразовать все в ассоциативный массив, где icao будет ключем и name значением. И на случай, если icao - не найдете в файле, то не возвращайте пустую строку, верните лучше код
Александр Пупкин: Запросов может и много, но похоже проблема в получении первых 47 кб, при том что это можно сказать статическая страница. т.е. сам html без рисунков очень долго возвращается, из 5 раз минимум 5 секунд максимум 38 секунд, рисунки загружается после и практически все ассинхронно и все в рамках 1 секунды... увидеть это можно если посмотреть используя firefox+firebug. Странно http-запросы показывают nginx и сжатие. возможно нужно копать настройки кеширования, если есть тестовый сервер, то заменил бы динамическую страницу на обычный хтмл и проверил время открытия, думаю у вас список магазинов очень долго собирается, возможно не оправданно тяжелый алгоритм получения списка
не совсем понятно, что вас смущает, по идее ведь все просто, вам нужно:
1) выбрать в чем измерять, в попугаях или в обезьянах - критерий оценки выполнения скрипта ( объем данных или кол-во строк или т.п.)
2) вам нужно знать конечную цифру ( длинну отрезка ) - 36 попугаев
3) вам нужно знать в какой-то момент времени длинну пройденного отрезка, на пример на первой секунде 12 попугаев а на второй секунде 24 попугая...
Обычно проблемы производительности и быстродействия проще решить за счет железа или кеширования nginx опять же. Но... начните с анализа производительности или мониторинга производительности: habrahabr.ru/company/badoo/blog/149695 habrahabr.ru/post/31468
попробуйте тот или другой вариант оптимизации и как он скажется на нагрузке...
другой момент что вы все данные загружаете в память... есть ли в этом необходимость?
EvgeniyRava: Хотя... есть вариант. если ваш device устанавливается на какой-то компьютер в качестве устройство ввода, вы можете написать сервис - демон, который будет перехватывать на этом компьютере все, что device передает. Перехватил и переслал на сервер, но это будет делать программа установленная на компьютере, а не сам device.