Задавайте вопросы, мы ответим
Вы не зашли.
помогите после этого запроса мусукл уходит в глубокие раздумия вместе с системой
Неактивен
/me ушел в глубокие раздумия вместе с системой
Запрос очень сложный, сделайте его проще. Ну и без explain — смотреть на него
не интересно.
Неактивен
Если бы я знал как сделать его проще я бы не спрашивал тут а пыталсся сделать его проще если поможет то в качестве информации запрос был сделан изначально под mssql может из-за этого он сжигает моCК mysql
explain (на сколько я понял что это) ниже
Неактивен
Какой ужас, у Вас нет ни одного индекса в таблицах!
Срочно сделайте индексы на (skill_id, skill_level) в табличках skill_acquire,
skill_names, skills, а также на skill_acquire(class_id, get_level, skill_id, skill_level)
Неактивен
paulus написал:
Какой ужас, у Вас нет ни одного индекса в таблицах!
Срочно сделайте индексы на (skill_id, skill_level) в табличках skill_acquire,
skill_names, skills, а также на skill_acquire(class_id, get_level, skill_id, skill_level)
Всё стало работать как часы благодарю!
Неактивен
новая задача с старыми проблемами пробвал ставить индексы, результат ноль, никак не поддаётся мне эта индекс стихия . Прошу помощи у укратителя индексов
SELECT * FROM skill_enchant as E
JOIN skill_names as N ON (N.skill_id=$skill_id AND N.skill_level=E.skill_level)
WHERE original_skill='$skill_name'
ORDER BY enchant_id, route_id
Отредактированно french (23.11.2010 23:28:30)
Неактивен
Видимо, структуру таблиц все равно надо будет посмотреть.
Неактивен
http://i039.radikal.ru/1011/d5/658b8a1e0095.png skill_enchant
http://s011.radikal.ru/i316/1011/6b/71f62de2a938.png skill_names
Неактивен
Аха, они все в энчанте. Тогда, скорее всего, помогут:
skill_enchant(original_skill, enchant_id, route_id)
skill_names(skill_level, skill_id)
Неактивен
всёравно не хочет.. а для skill_names если там есть такой индекс, нужно новый добавлять?
вот кстати после минут 5 раздумий выдало результат но только половину запроса пришлось убрать, настораживает такой количество строк Oo
кстати я не правильно написал запрос, в оригинале он выглядит так но мне нужно чтобы он выводил данные из mysql
Отредактированно french (24.11.2010 12:19:22)
Неактивен
Думаю, Вам нужно сделать еще один шаг и отказаться от phpMyAdmin в пользу
какого-нибудь нормального клиента
Порядок столбцов в индексах важен. У Вас он плохой
Неактивен
я уже привык к нему, а какой клиент рекомендуете?
Неактивен
mysql
Неактивен
никак не могу осилить последний пост это чтоли шутка такая?
p.s. переделал индексы запрос всёравно тупит в консоли но почемуто шустро работает при работе с тем с чем должен работать...
Неактивен
Я бы свалил всё на клиент, раз работает нормально
Неактивен
french написал:
никак не могу осилить последний пост это чтоли шутка такая?
почему шутка? есть такой клиент - mysql, его можно запустить и запросики через него кидать серверу.
А еще MySQL GUI Tools, хорошо помогают, если есть удаленный доступ к серверу или сервер на локалхосте
Неактивен
Shopen написал:
french написал:
никак не могу осилить последний пост это чтоли шутка такая?
почему шутка? есть такой клиент - mysql, его можно запустить и запросики через него кидать серверу.
А еще MySQL GUI Tools, хорошо помогают, если есть удаленный доступ к серверу или сервер на локалхосте
спасибо на счёт второго
понимаю что вопрос не по теме и этот ресурс не связан с такими вопросами, но может не будете кидать меня камнями если спрошу как при помощи пхп или какого либо другого редактора обрезать много строк вида
Неактивен
Зависит от языка. Проще всего в консоли, наверное:
sed -i 's/price.*//' filename
А вот в виндоус для этого нужно будет писать программу
Неактивен
очень жаль, не силён в написании программ черех пхп такое никак не сделать?
Неактивен
Всё решил проблемму с помощью хитрости
Неактивен
привет всем это сново я и сново с дурацким вопросом который только краем касается мусукла.. (ну если хоть краем касается то думаю вы мне не откажите в помощи )
есть 2 кейса которые фильтруют выборку из базы никак не могу заставить их подружиться друг с другом
этот выводит результат где в таблице commonitem значение 0
switch($filter_common): case 'on': $sql = "SELECT * FROM items as I JOIN item_names as N ON (I.item_type = '$type') AND (I.weapon_type = '$subtype') AND (I.equip_pet = 0) AND (I.crystal_type = '$gr') AND (I.commonitem = 0) AND (I.id = N.id) ORDER BY N.name;"; break; endswitch;
этот выводит результат где в таблице monsteritem значение 0
switch($filter_monster): case 'on': $sql = "SELECT * FROM items as I JOIN item_names as N ON (I.item_type = '$type') AND (I.weapon_type = '$subtype') AND (I.equip_pet = 0) AND (I.crystal_type = '$gr') AND (I.monsteritem = 0) AND (I.id = N.id) ORDER BY N.name"; break; endswitch;
по отдельности они работают хорошо, но вместе никак не хотят работать
если делаю так то при загрузке $filter_monster он автоматически плюсует и фильтр $filter_common даже если кейс не стоит в значении on
switch($filter_monster): case 'on': $sql = "SELECT * FROM items as I JOIN item_names as N ON (I.item_type = '$type') AND (I.weapon_type = '$subtype') AND (I.equip_pet = 0) AND (I.crystal_type = '$gr') AND (I.monsteritem = 0) AND (I.commonitem = '$filter_common') AND (I.id = N.id) ORDER BY N.name"; break; endswitch;
помогите добрые люди (если кто не понял то нужно чтобы при загрузке site.ru/?index.php&filter_monster=on&filter_common=on) загружались оба значения а не первый
Неактивен
Тут важна логика. Вам нужны строки, которые ИЛИ не монстровые, ИЛИ общие.
Слово «или» написано большими буквами неспроста — это подсказка
Неактивен
такие подсказки мне больше нравятся хоть есть на чем поразмыслить ну за место AND ставлю OR и мусукл опять уходит в глубокие раздумия трудно мыслить логически если в том над чем думаешь надо обьяснять на пальцах
Неактивен
А запрос и EXPLAIN от него?
Неактивен
Воть не кидаться какашками на cчёт phpmyadmina только
EXPLAIN SELECT * FROM items AS I JOIN item_names AS N ON ( I.item_type = '$type' ) AND ( I.weapon_type = '$subtype' ) AND ( I.equip_pet =0 ) AND ( I.crystal_type = '$gr' ) OR ( I.shadowitem =0 ) AND ( I.id = N.id ) ORDER BY N.name
Неактивен