Перейти к содержимому


Фотография
- - - - -

MySQL + группы товаров


  • Пожалуйста, авторизуйтесь, чтобы ответить
37 ответов в этой теме

#21 GlebVt

GlebVt

    нервное чучело

  • True Members
  • PipPipPipPipPip
  • 6 290 сообщений
69
Хороший
  • Пол:Мужчина

Опубликовано 12 Июнь 2009 - 15:41

Там может быть и не массив =)

эээ
перечитай ещё мой код. там проверяется.

немного подправил, но суть не изменилась совсем.
  • 0

#22 miver

miver

    красноглазег

  • Moderators
  • PipPipPipPipPip
  • 3 850 сообщений
73
Хороший
  • Пол:Мужчина
  • Город:Арбиталь
  • Интересы:Linux FreeBSD домашние сети

Опубликовано 12 Июнь 2009 - 15:55

2279 записи выводяться за 1.777055 секунд :)

на самом деле это нереально много

select login from vdb where login like 'l%';
4250 rows in set (0.00 sec)

select id from discount_all where name like 'Periodic%' limit 1000000;
1000000 rows in set (1.48 sec)

select id from discount_all where service = 3 limit 1000000;
1000000 rows in set (1.13 sec)
  • 0

#23 GeX

GeX

    Super True Member

  • Moderators
  • PipPipPipPipPip
  • 11 350 сообщений
111
Очень хороший
  • Пол:Мужчина
  • Город:Ленинский 110/2

Опубликовано 12 Июнь 2009 - 15:59

на самом деле это нереально много
select login from vdb where login like 'l%';
....
4250 rows in set (0.00 sec)

select id from discount_all where name like 'Periodic%' limit 1000000;
1000000 rows in set (1.48 sec)


У мну быловиндавс =)))
И время то что я написал - это не только время запроса, а еще и генерация страницы.
Без генерации - как раз как у тебя время =)
  • 0
Я в контакте Ты должен быть сильным, иначе, зачем тебе быть
Размещенное изображениеРазмещенное изображение
Размещенное изображениеРазмещенное изображение

#24 GlebVt

GlebVt

    нервное чучело

  • True Members
  • PipPipPipPipPip
  • 6 290 сообщений
69
Хороший
  • Пол:Мужчина

Опубликовано 12 Июнь 2009 - 16:00

GeX
ты мне ответь, что означает "Там может быть и не массив", если у меня это проверяется!
мне интересно, где я не прав.
  • 0

#25 GeX

GeX

    Super True Member

  • Moderators
  • PipPipPipPipPip
  • 11 350 сообщений
111
Очень хороший
  • Пол:Мужчина
  • Город:Ленинский 110/2

Опубликовано 12 Июнь 2009 - 16:04

GeX
ты мне ответь, что означает "Там может быть и не массив", если у меня это проверяется!
мне интересно, где я не прав.


Массив, там, массив.
Это я *цензура* написал.
  • 0
Я в контакте Ты должен быть сильным, иначе, зачем тебе быть
Размещенное изображениеРазмещенное изображение
Размещенное изображениеРазмещенное изображение

#26 miver

miver

    красноглазег

  • Moderators
  • PipPipPipPipPip
  • 3 850 сообщений
73
Хороший
  • Пол:Мужчина
  • Город:Арбиталь
  • Интересы:Linux FreeBSD домашние сети

Опубликовано 12 Июнь 2009 - 16:18

У мну быловиндавс =)))
И время то что я написал - это не только время запроса, а еще и генерация страницы.
Без генерации - как раз как у тебя время =)


select login from vdb where login like 'l%';

с выводом всех строк на страничку, с подгрузкой меню и т.п. текущего сайта
4250 строк

Страница сгенерирована за 0.029983 секунд

короче оптимизируйте сервак )
  • 0

#27 *soulburner*

*soulburner*

    You have reached level cap

  • True Members
  • PipPipPipPipPip
  • 5 619 сообщений
225
Очень хороший
  • Пол:Мужчина

Опубликовано 12 Июнь 2009 - 18:04

LIKE безусловно самая быстрая операция сравнения в MySQL :-)

Если созданы индексы - то оно работает весьма и весьма шустро!

У мну быловиндавс =)))
И время то что я написал - это не только время запроса, а еще и генерация страницы.
Без генерации - как раз как у тебя время =)

Индекс создать не забыл?

Вот так :

count($_REQUEST['sfg']>0)

И что, работает? :lol: :lol: :lol:
  • 0

#28 GeX

GeX

    Super True Member

  • Moderators
  • PipPipPipPipPip
  • 11 350 сообщений
111
Очень хороший
  • Пол:Мужчина
  • Город:Ленинский 110/2

Опубликовано 12 Июнь 2009 - 18:21

И что, работает? :lol: :lol: :lol:


Да =)
  • 0
Я в контакте Ты должен быть сильным, иначе, зачем тебе быть
Размещенное изображениеРазмещенное изображение
Размещенное изображениеРазмещенное изображение

#29 *soulburner*

*soulburner*

    You have reached level cap

  • True Members
  • PipPipPipPipPip
  • 5 619 сообщений
225
Очень хороший
  • Пол:Мужчина

Опубликовано 12 Июнь 2009 - 18:26

Да =)

Ошибку-то заметил?
  • 0

#30 GeX

GeX

    Super True Member

  • Moderators
  • PipPipPipPipPip
  • 11 350 сообщений
111
Очень хороший
  • Пол:Мужчина
  • Город:Ленинский 110/2

Опубликовано 12 Июнь 2009 - 18:27

Ошибку-то заметил?



Да, спс =)
  • 0
Я в контакте Ты должен быть сильным, иначе, зачем тебе быть
Размещенное изображениеРазмещенное изображение
Размещенное изображениеРазмещенное изображение

#31 GlebVt

GlebVt

    нервное чучело

  • True Members
  • PipPipPipPipPip
  • 6 290 сообщений
69
Хороший
  • Пол:Мужчина

Опубликовано 12 Июнь 2009 - 18:30

ещё раз:
empty() для массива возвращает содержатся в нём элементы или нет? или он не работает для массивов?
в моём случае будет (намного:) быстрее работать + запись понятнее и лаконичнее.
  • 0

#32 *soulburner*

*soulburner*

    You have reached level cap

  • True Members
  • PipPipPipPipPip
  • 5 619 сообщений
225
Очень хороший
  • Пол:Мужчина

Опубликовано 12 Июнь 2009 - 18:50

ещё раз:
empty() для массива возвращает содержатся в нём элементы или нет? или он не работает для массивов?
в моём случае будет (намного:) быстрее работать + запись понятнее и лаконичнее.

в задницу empty

для таких случаев есть isset()
  • 0

#33 GlebVt

GlebVt

    нервное чучело

  • True Members
  • PipPipPipPipPip
  • 6 290 сообщений
69
Хороший
  • Пол:Мужчина

Опубликовано 12 Июнь 2009 - 18:56

*soulburner*
я не знаю похапе :)
я предложил симпатишную запись вместо монстра от Гекса :)
в его случае - empty() и count()>0 - одно и то же - у меня собраны в одно, что даёт большую производительность, а так же значительно упрощает запись.
асло, я хз - оно само так и напрашивалось... ящитаю, что это самая ..."разумеющаяся", что ли... запись.
и записать по-другому - нужно постараться :)

Гекс, я не хочу тебя оскорбить, серьёзно.
  • 0

#34 *soulburner*

*soulburner*

    You have reached level cap

  • True Members
  • PipPipPipPipPip
  • 5 619 сообщений
225
Очень хороший
  • Пол:Мужчина

Опубликовано 12 Июнь 2009 - 19:06

Глеб, а я с тобой и не спорю ;)

У Гекса реально криво написанно :)
  • 0

#35 Taciturn

Taciturn

    Super True Member

  • True Members
  • PipPipPipPipPip
  • 11 550 сообщений
924
Очень хороший
  • Пол:Мужчина
  • Город:185.115.97.177, Ленинский 96/1

Опубликовано 12 Июнь 2009 - 20:03

Вложенный файл  09_06_08.gif   48,15 КБ   1 Скачано
  • 0

#36 GeX

GeX

    Super True Member

  • Moderators
  • PipPipPipPipPip
  • 11 350 сообщений
111
Очень хороший
  • Пол:Мужчина
  • Город:Ленинский 110/2

Опубликовано 12 Июнь 2009 - 20:31

Ладно, ладно.
Типо оптимизировал :)

$q = "SELECT * FROM item_main";

	if(isset($_REQUEST['sfg'])){
		$q .= " WHERE ";
		for($i=0;$i<count($_REQUEST['sfg']);$i++){
			$q .= "cat LIKE '%,".$_REQUEST['sfg'][$i].",%'";
			$q .= ($i<count($_REQUEST['sfg'])-1) ? " OR " : " ";
		}
	}
	$q .= $_REQUEST['st'] > 0 ? " LIMIT ".$_REQUEST['st']."," : " LIMIT ";
	$q .= "100";

	$sql = dosql($q);

  • 0
Я в контакте Ты должен быть сильным, иначе, зачем тебе быть
Размещенное изображениеРазмещенное изображение
Размещенное изображениеРазмещенное изображение

#37 *soulburner*

*soulburner*

    You have reached level cap

  • True Members
  • PipPipPipPipPip
  • 5 619 сообщений
225
Очень хороший
  • Пол:Мужчина

Опубликовано 12 Июнь 2009 - 20:41

$q = "SELECT * FROM item_main";

	if(isset($_REQUEST['sfg'])){
		$q .= " WHERE ";
		for($i=0;$i<count($_REQUEST['sfg']);$i++){
			if ($i > 0) $q .= ' OR ';
			$q .= "cat LIKE '%,".$_REQUEST['sfg'][$i].",%'";
		}
	}
	$q .= " LIMIT ";
	if ($ss = $_REQUEST['st'] > 0)  $q .= "$ss, ";
	$q .= "100";

	$sql = dosql($q);

Так красивее и проще :)
  • 0

#38 GeX

GeX

    Super True Member

  • Moderators
  • PipPipPipPipPip
  • 11 350 сообщений
111
Очень хороший
  • Пол:Мужчина
  • Город:Ленинский 110/2

Опубликовано 12 Июнь 2009 - 20:47

Так красивее и проще :)


А я не ищу легких путей =)))
  • 0
Я в контакте Ты должен быть сильным, иначе, зачем тебе быть
Размещенное изображениеРазмещенное изображение
Размещенное изображениеРазмещенное изображение


Посетителей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных пользователей