на самом деле, используя эту концепцию temp table becoz, я хочу, чтобы запрос работал быстро. мой код выглядит следующим образом
$maketemp1 = " CREATE TEMPORARY TABLE bin1 ( `ackNo` varchar(55), `repairStatus` varchar(100), `productFamily` varchar(100), `location` varchar(100), `binTo` varchar(100), `binTime` datetime, `age` int(50) ) "; mysql_query($maketemp1) or die ("Sql error : ".mysql_error()); $inserttemp1 = " INSERT INTO bin1 (`ackNo`, `repairStatus`, `productFamily`, `location`,`binTo`,`binTime`,`age`) SELECT customerupdate.ackNo,tblRepairQueue.repairStatus, tblRepairQueue.productFamily,tblRepairQueue.location,customerupdate.binTo,customerupdate.binTime, TIMESTAMPDIFF(HOUR , customerupdate.binTime , '".$value."') FROM `tblRepairQueue` , `customerupdate` WHERE tblRepairQueue.ackNo=customerupdate.ackNo and tblRepairQueue.location='".$empLocationName."' "; mysql_query($inserttemp1) or die ("Sql error : ".mysql_error());
Но то, что происходит, – это когда я запускаю указанный выше запрос, требуется слишком много времени для копирования. Процесс очень медленный по сравнению с обычным запросом .. а также у меня есть еще одно сомнение .. будет ли концепция использования таблицы temp давать результаты Быстрее?
Временная таблица может быть не лучшим вариантом в зависимости от того, что вы пытаетесь достичь … Может оказаться полезным создать таблицу с некоторой консолидацией данных, чтобы сузить круг следующих запросов на пару, но редко бывает так эффективно.
Кроме того, временные таблицы не могут быть доступны несколько раз, поэтому потребуется реальная таблица.
Для создания таблицы требуется запись на диск, которая намного менее эффективна, чем чистый выбор в ОЗУ. Используя методы кэширования, вы можете быстро получить результат предыдущего выбора. Вы можете использовать этот параметр как часть FROM своих запросов, чтобы сделать это быстрее, чем объединение в огромную базу данных. Но даже тогда …
Мы развиваемся в наборе данных примерно 1То, большие запросы – это результаты поиска в соответствии с правами пользователей (категория, магазин, …), мы попытались создать таблицу для каждого пользователя, указывающую на продукты, на которые он имеет права, и затем используйте эту таблицу для извлечения данных, не требуя огромных условий, но с помощью SSD все еще медленно. Таким образом, мы просто сбросили огромную RAM на сервере, и SELECT, который мы использовали для заполнения временных таблиц, запускается для каждого пользователя при входе в систему, а затем используется как FROM, и все идеально.