![]() |
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]() ![]() ![]() |
|
Sukhof |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 114 Регистрация: 18.4.2004 Где: Тюмень Репутация: 0 Всего: 2 |
Привет всем! срочно нужна помощь, просто горю, есть два цикла (один в другом), первый цикл формирует html таблицу второй подставляет значения в ячейки этой таблицы. Все работает, все нормально. Но если размер таблицы большой (содержит 300 ячеек) то все начинает тормозить. ПОМОГИТЕ оптимизировать следующий код
--------------------
Не бойся делать то, что не умеешь. Помни Ковчег построил любитель, а Титаник профессионалы. |
|||
|
||||
Opik |
|
||||||||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Vingrad developer Сообщений: 1918 Регистрация: 6.10.2004 Где: Рига Репутация: 24 Всего: 55 |
для начала вместо всех
сделай
и потом только 1 раз
т.е
можно записать как:
вместо if(): endif лучше юзать $if(){} первый вариант вроде устарел, пока советов больше нет. |
||||||||||
|
|||||||||||
Sukhof |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 114 Регистрация: 18.4.2004 Где: Тюмень Репутация: 0 Всего: 2 |
Спасибо совет принял, все исправил, но скорость незначительно улучшилась, проблема здесь заключена в том что для формирования каждой ячейки приходится делать обращение к БД. Но как сделать иначе я не знаю.
--------------------
Не бойся делать то, что не умеешь. Помни Ковчег построил любитель, а Титаник профессионалы. |
|||
|
||||
Opik |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Vingrad developer Сообщений: 1918 Регистрация: 6.10.2004 Где: Рига Репутация: 24 Всего: 55 |
Sukhof
дело в том, что я не вижу ключей, по которым можно связать таблицы. |
|||
|
||||
Sukhof |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 114 Регистрация: 18.4.2004 Где: Тюмень Репутация: 0 Всего: 2 |
таблицы к сожалению связать никак они имеют такой вид:
в поле "р" храняться названия полей из которых необходимо взять значение следовательно дальше подключаемся к другой таблице и из нужных полей (основываясь на первом запросе) взять значения и подставить их в html таблицу
--------------------
Не бойся делать то, что не умеешь. Помни Ковчег построил любитель, а Титаник профессионалы. |
||||
|
|||||
OPG |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 117 Регистрация: 25.2.2005 Репутация: 1 Всего: 1 |
Вчера читал материалы по оптимизации, так вот. Во - первых, используй постоянные соединения для обращения к базе. Второе, и самое важное, чтобы сократить время поиска в базе данных всем поля во второй таблице приведи к одному типу поля с одним (одинаковым!!!) значением длины. Хрен с ним с тем, что потеряешь на каждом поле по несколько байт, скорость возрастет. И сделай поля не переменной длины, а постоянной! Особо сути не помню, но чтобы найти узкое место при анализе обращений к таблицам есть специальный оператор в MySQL, который надо писать перед запросом и он показывает сколько обращений идет к каждой колонке и т.п. Так вот, там на одном примере очень простом показано, что если привести поля к одной длине (не переменной, а постоянной), то количество запросов сократилось в 74 раза!!! Если надо я тебе могу отсканировать и прислать завтра этот материальчик, если сообщишь в течении получаса, что о н тебе нужен. Книга дома.
|
|||
|
||||
Opik |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Vingrad developer Сообщений: 1918 Регистрация: 6.10.2004 Где: Рига Репутация: 24 Всего: 55 |
Погодь, а так:
только не знаю как быть с переключением базы. да и проверь, работает ли это вообще? Добавлено @ 14:06 OPG выложи куда нибудь? кинь в в приват, например, выложу в ФАК, |
|||
|
||||
Sukhof |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 114 Регистрация: 18.4.2004 Где: Тюмень Репутация: 0 Всего: 2 |
Да было бы великолепно, буду ждать.
--------------------
Не бойся делать то, что не умеешь. Помни Ковчег построил любитель, а Титаник профессионалы. |
|||
|
||||
OPG |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 117 Регистрация: 25.2.2005 Репутация: 1 Всего: 1 |
Ладно. ОК. Только вышлю сканы, а то с FinуReader ом нет времени возиться.
|
|||
|
||||
OPG |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 117 Регистрация: 25.2.2005 Репутация: 1 Всего: 1 |
Все отправил тебе на мейл. Лови. |
|||
|
||||
Opik |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Vingrad developer Сообщений: 1918 Регистрация: 6.10.2004 Где: Рига Репутация: 24 Всего: 55 |
отправь на opik (at) opik.ru?
|
|||
|
||||
OPG |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 117 Регистрация: 25.2.2005 Репутация: 1 Всего: 1 |
Отправлю, сегодня, но позже. У нас тут канал узкий, DSL собираются только ставить, поэтому пошлю частями. Всего 10 листов. Может запросишь переслать Sukhof?
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "PHP" | |
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |