PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (128): В начало « ... 20 21 22 23 [24] 25 26 27 28 ... » В конец

> Найдено сообщений: 1914
3d_killer Отправлено: 25 Марта, 2016 - 10:54:33 • Тема: Запрос с условием IF • Форум: SQL и Архитектура БД

Ответов: 2
Просмотров: 65
помоему сообразил, проверить пока не могу
CODE (SQL):
скопировать код в буфер обмена
  1.  
  2. SELECT TABLE.* FROM TABLE
  3. LEFT JOIN owner ON owner.user_id=TABLE.id AND owner.user_id=10
  4. WHERE TABLE.STATUS=1 OR (TABLE.STATUS=2 AND owner.user_id IS NOT NULL)
  5. GROUP BY TABLE.id
  6.  
3d_killer Отправлено: 25 Марта, 2016 - 10:36:17 • Тема: Передать переменую • Форум: Вопросы новичков

Ответов: 8
Просмотров: 281
FIREBUG что пишет?
3d_killer Отправлено: 25 Марта, 2016 - 10:13:31 • Тема: Передать переменую • Форум: Вопросы новичков

Ответов: 8
Просмотров: 281
тип данных укажи в запросе
dataType: 'HTML',
(Добавление)
и поставь FIREBUG убедись что запрос доходит туды /modules/mod_search_auto/module. php
3d_killer Отправлено: 25 Марта, 2016 - 10:08:10 • Тема: Простейшая авторизация • Форум: Вопросы новичков

Ответов: 2
Просмотров: 109
ну так в условие то не попадает, у тебя условие начинает работать с переадресацией если логин и пароль пришли, если их нет соответственно никаких проверок дальше и нет,
в конце допиши
PHP:
скопировать код в буфер обмена
  1. else {
  2.                         Header("Location: index.html");
  3.                 }
  4.  
3d_killer Отправлено: 25 Марта, 2016 - 09:55:06 • Тема: Запрос с условием IF • Форум: SQL и Архитектура БД

Ответов: 2
Просмотров: 65
Добрый день, не могу найти как составить запрос с условием то есть:
Выбрать все из таблицы table
/*Куча еще LEFT JOIN*/
Где поле статус в таблице table.status=1
или
/*Это не пойму как составить*/
если (одна из таблиц LEFT JOIN).user_id="такому то значению" то в выборку должны попасть записи со статусом 2 - table.status=2
3d_killer Отправлено: 23 Марта, 2016 - 09:01:32 • Тема: Долго выполняется запрос что можно предпринять • Форум: SQL и Архитектура БД

Ответов: 40
Просмотров: 458
да нормально копируется
/* Affected rows: 400 049 Найденные строки: 0 Предупреждения: 0 Длительность 1 query: 0,562 sec. */
(Добавление)
/* Affected rows: 900 051 Найденные строки: 0 Предупреждения: 0 Длительность 1 query: 1,124 sec. */
3d_killer Отправлено: 22 Марта, 2016 - 12:20:01 • Тема: Долго выполняется запрос что можно предпринять • Форум: SQL и Архитектура БД

Ответов: 40
Просмотров: 458
вроде полегчало
3d_killer Отправлено: 22 Марта, 2016 - 10:41:47 • Тема: Долго выполняется запрос что можно предпринять • Форум: SQL и Архитектура БД

Ответов: 40
Просмотров: 458
попробовал таблицу куда нацелены все JOIN поставить Memory, база прям залетала, интересно возможен такой механизм данные при записи пишутся в 2 таблицы эту и такуюже с типом например InnoDB, при старте сервака данные переносятся в таблицу Memory, и с ними работают, так как операций чтения очень много, а таблица сама по себе состоит из нескольких полей INT
(Добавление)
Мелкий мне нужно получить соответствие 1 объект - одна строка данных, конечно при записи в бд проверяется чтобы одному объекту соответствовало 1 значение какого либо свойства, но мало ли
(Добавление)
CODE (SQL):
скопировать код в буфер обмена
  1. попробовал запросом:
  2. REPLACE INTO `rs-cms_adresat_directory_values_to_object_mem`
  3. SELECT *
  4. FROM `rs-cms_adresat_directory_values_to_object`


/* Affected rows: 22272 Найденные строки: 0 Предупреждения: 0 Длительность 1 query: 0,000 sec. */
данных конечно сейчас мало но ожидается порядка 2-3 млн записей
что скажете? данную операцию надо будет производить только при старте сервака
(Добавление)
или тригером после инсерта?
(Добавление)
только вот никогда не писал их, так ругается
PHP:
скопировать код в буфер обмена
  1. BEGIN
  2. "REPLACE INTO `rs-cms_adresat_directory_values_to_object_mem` SELECT * FROM `rs-cms_adresat_directory_values_to_object`"

(Добавление)
сделал, данные при апдейте подтягиваются и меняются в основной таблице.
при апдейте и инсерте Memory обновляется она используется при подборе, если таблица пуста то подбор не работает, но мы видим список объектов без свойств, если зайти в объект то свойства подгружаются из основной таблицы, то есть потеря или изменение данных не там в принципе не возможна.
3d_killer Отправлено: 22 Марта, 2016 - 09:33:49 • Тема: Долго выполняется запрос что можно предпринять • Форум: SQL и Архитектура БД

Ответов: 40
Просмотров: 458
T1grOK, если все же mysql использовать, может проблема в openserver?
3d_killer Отправлено: 22 Марта, 2016 - 08:11:04 • Тема: Долго выполняется запрос что можно предпринять • Форум: SQL и Архитектура БД

Ответов: 40
Просмотров: 458
на локальном хосте под openserver
SSD 512 запись чтение, проц i3 2,8 4 ядра, 8 гигов оперативы, но нагрузки я не замечал,
база построена на PDO может попробовать Postgre поставить?
(Добавление)
что то подключил через postgre а оно вобще не пашет, подключается без ошибок но запросы не выполняет, вот например
PHP:
скопировать код в буфер обмена
  1. $query="
  2.         CREATE TABLE IF NOT EXISTS `core_action` (
  3.         `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'Уникальный ID',
  4.         `id_module` int(11) DEFAULT NULL COMMENT 'id модуля',
  5.         `name_ru` varchar(250) NOT NULL COMMENT 'Имя модуля рус',
  6.         `name_en` varchar(250) NOT NULL COMMENT 'Имя операции (функции)',
  7.         `access` int(1) DEFAULT '0',
  8.                 PRIMARY KEY (`id`),
  9.                 UNIQUE INDEX `name_en` (`name_en`)
  10.         ) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8;";
  11.                 $STH1=DB::DBH()->prepare($query);
  12.                 $STH1->execute();      
  13.                 $STH=DB::DBH()->prepare("SHOW TABLE STATUS");
  14.                 $STH->execute();
  15.                 $R=$STH->fetchAll();
  16.                 var_dump($R);


вот эта операция не выдает никаких ошибок, но в конце вардамп дает
array (size=0)
empty
(Добавление)
само подключение
PHP:
скопировать код в буфер обмена
  1. defined("RS_ACCESS") or die("Нельзя получить прямой доступ к файлу!");
  2. class DB
  3.         {
  4.         private static $DBH=NULL;
  5.         public static function DBH()
  6.         {
  7.                 if (!self::$DBH)
  8.                         {
  9.                         try
  10.                         {
  11.                         //Префикс базы данных
  12.                         define (PDB,"RS-");
  13.                         //ХОСТ
  14.                         $host="127.0.0.1";
  15.                         //Имя базы
  16.                         $db="new";
  17.                         //Логин
  18.                         $user="root";
  19.                         //Пароль
  20.                         $pass="";
  21.                         //Попытка подключения
  22. self::$DBH=new PDO(sprintf("pgsql:host=%s;port=5432;dbname=%s", $host, $db), $user, $pass);
  23.                         self::$DBH->query("SET NAMES 'utf8'");
  24.                         }
  25.                         catch(PDOException $e)
  26.                         {
  27.                                 echo " Извините. Но операци не может быть выполнена.";
  28.                                 die();
  29.                                 file_put_contents("PDOErrors.txt", $e->getMessage(), FILE_APPEND);
  30.                         }
  31.                         }
  32.                                 return self::$DBH;
  33.                         }
  34.         }


через пгадмин открывается сервер запущен, в чем тут проблема?
3d_killer Отправлено: 21 Марта, 2016 - 23:31:31 • Тема: Долго выполняется запрос что можно предпринять • Форум: SQL и Архитектура БД

Ответов: 40
Просмотров: 458
с ключами шевелится быстро, но до первого инсерта, потом похоже переиндексация, первый запрос тупит, а данных надо добавлять много
(Добавление)
движок MyIsam, на InnoDb тупит еще больше
(Добавление)
я даже низнаю что будет когда данными наполнится таблица RS-CMS_adresat_directory_values_ to_object она по идее раз в 15 больше из которой делаю основной селект, сейчас она пустая практически
3d_killer Отправлено: 21 Марта, 2016 - 16:30:18 • Тема: Долго выполняется запрос что можно предпринять • Форум: SQL и Архитектура БД

Ответов: 40
Просмотров: 458
Добавил пару индексов пока не могу проверить
3d_killer Отправлено: 21 Марта, 2016 - 16:23:17 • Тема: Долго выполняется запрос что можно предпринять • Форум: SQL и Архитектура БД

Ответов: 40
Просмотров: 458
OrmaJever а как я еще получу кучу параметров из других таблиц?
3d_killer Отправлено: 21 Марта, 2016 - 11:37:47 • Тема: Долго выполняется запрос что можно предпринять • Форум: SQL и Архитектура БД

Ответов: 40
Просмотров: 458
Написал БД для недвижимости, на любом итпе объекта может быть сколько угодно параметров которые берутся из справочников, взял добавил рандомно 50 тыс записей,
при вводе нового объекта срабатывает поиск на соответствие, так вот если параметров не было показывает общее количество объектов и с лимитом немного объектов.
Так вот первый раз это происходит минуты 2, потом справляется за пол секунды, но стоит внести новый объект то опять первый раз около 2х минут, можно как это решить?

запрос большой много LEFT JOIN для выдергивания параметров, пример:

CODE (SQL):
скопировать код в буфер обмена
  1.  
  2. SELECT `RS-CMS_adresat_object`.*, `dir_param_ws`.value AS param_ws , `param_test`.value_int AS param_test , `dir_param_floor`.value_int AS param_floor , `dir_param_material`.value AS param_material , `param_s_k`.value_int AS param_s_k , `param_rrr`.value_int AS param_rrr , `dir_param_names`.value AS param_names , `param_info`.value AS param_info , `param_price`.value_int AS param_price , `dir_param_city`.value AS param_city FROM `RS-CMS_adresat_object` LEFT JOIN `RS-CMS_adresat_directory_values_to_object` AS `param_ws` ON `param_ws`.object_id = `RS-CMS_adresat_object`.id AND `param_ws`.id_directory=16 LEFT JOIN `RS-CMS_adresat_directory_values` AS `dir_param_ws` ON `dir_param_ws`.id = `param_ws`.link AND `dir_param_ws`.id_directory=16 LEFT JOIN `RS-CMS_adresat_directory_values_to_object` AS param_test ON `param_test`.object_id = `RS-CMS_adresat_object`.id AND `param_test`.id_directory=19 LEFT JOIN `RS-CMS_adresat_directory_values_to_object` AS `param_floor` ON `param_floor`.object_id = `RS-CMS_adresat_object`.id AND `param_floor`.id_directory=14 LEFT JOIN `RS-CMS_adresat_directory_values` AS `dir_param_floor` ON `dir_param_floor`.id = `param_floor`.link AND `dir_param_floor`.id_directory=14 LEFT JOIN `RS-CMS_adresat_directory_values_to_object` AS `param_material` ON `param_material`.object_id = `RS-CMS_adresat_object`.id AND `param_material`.id_directory=15 LEFT JOIN `RS-CMS_adresat_directory_values` AS `dir_param_material` ON `dir_param_material`.id = `param_material`.link AND `dir_param_material`.id_directory=15 LEFT JOIN `RS-CMS_adresat_directory_values_to_object` AS param_s_k ON `param_s_k`.object_id = `RS-CMS_adresat_object`.id AND `param_s_k`.id_directory=20 LEFT JOIN `RS-CMS_adresat_directory_values_to_object` AS param_rrr ON `param_rrr`.object_id = `RS-CMS_adresat_object`.id AND `param_rrr`.id_directory=22 LEFT JOIN `RS-CMS_adresat_directory_values_to_object` AS `param_names` ON `param_names`.object_id = `RS-CMS_adresat_object`.id AND `param_names`.id_directory=23 LEFT JOIN `RS-CMS_adresat_directory_values` AS `dir_param_names` ON `dir_param_names`.id = `param_names`.link AND `dir_param_names`.id_directory=23 LEFT JOIN `RS-CMS_adresat_directory_values_to_object` AS param_info ON `param_info`.object_id = `RS-CMS_adresat_object`.id AND `param_info`.id_directory=17 LEFT JOIN `RS-CMS_adresat_directory_values_to_object` AS param_price ON `param_price`.object_id = `RS-CMS_adresat_object`.id AND `param_price`.id_directory=24 LEFT JOIN `RS-CMS_adresat_directory_values_to_object` AS `param_city` ON `param_city`.object_id = `RS-CMS_adresat_object`.id AND `param_city`.id_directory=10 LEFT JOIN `RS-CMS_adresat_directory_values` AS `dir_param_city` ON `dir_param_city`.id = `param_city`.link AND `dir_param_city`.id_directory=10 WHERE `RS-CMS_adresat_object`.type_id=:type GROUP BY `RS-CMS_adresat_object`.id ORDER BY `RS-CMS_adresat_object`.date_add DESC LIMIT 10

(Добавление)
на хосте проверил занимает 33 секунды это дело, но все равно это очень долго для 50 тыс объектов
(Добавление)
на сколько я понял запрос возникает длительный если происходит запрос без условий, если есть хоть одно условие помимо WHERE `RS-CMS_adresat_object`.type_id=:type то все происходит быстро
3d_killer Отправлено: 20 Марта, 2016 - 20:28:29 • Тема: Кавычки, добавляемые JQuery мешают работе с переменными • Форум: JavaScript & VBScript

Ответов: 5
Просмотров: 1126
так убери, у меня так:
PHP:
скопировать код в буфер обмена
  1.  
  2. $('input[name=x1]').val(selection.x1);
  3.                                         $('input[name=y1]').val(selection.y1);
  4.                                         $('input[name=x2]').val(selection.x2);
  5.                                         $('input[name=y2]').val(selection.y2);
  6.                                         $('input[name=w]').val(selection.width);
  7.                                         $('input[name=h]').val(selection.height);
  8.  

Страниц (128): В начало « ... 20 21 22 23 [24] 25 26 27 28 ... » В конец
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB