CakePHP - каждый видел это происходит: запрос сеанса базы данных повторяется снова и снова - PullRequest
0 голосов
/ 16 августа 2010

Это может быть трудно читать, но важно, чтобы это делалось снова и снова (повторяется 14 раз):

  1. Выберите идентификатор сессии
  2. Сеанс счета
  3. Обновление сеанса

16 SELECT Session. id, Session. data, Session. expires ИЗ cake_sessions AS Session ГДЕ id = '80f5f4f43334a7bc1446d06d143e6330' LIMIT 1 1 1 1

17 ВЫБРАТЬ СЧЕТ (*) КАК count ИЗ cake_sessions КАК Session ГДЕ Session. id = '80f5f4f43334a7bc1446d06d143e6330' 1 1 0

18 ВЫБРАТЬ СЧЕТ (*) КАК count ОТ cake_sessions КАК Session ГДЕ Session. id = '80f5f4f43334a7bc1446d06d143e6330' 1 1 0

19 ОБНОВЛЕНИЕ cake_sessions SET id = '80f5f4f43334a7bc1446d06d143e6330', data = '', expires = 1282010807 ГДЕ cake_sessions. id = '80f5f4f43334a7bc144642 * 1 1 3c144642 * 1e

20 SELECT Session. id, Session. data, Session, *1048*. expires ИЗ cake_sessions AS Session ГДЕ id = '80f5f4f43334a7bc1446d06d143e6330' LIMIT 1 1 1 1

21 ВЫБРАТЬ СЧЕТ (*) КАК count ОТ cake_sessions КАК Session ГДЕ Session. id = '80f5f4f43334a7bc1446d06d143e6330' 1 1 1

22 ВЫБРАТЬ СЧЕТ (*) КАК count ИЗ cake_sessions КАК Session ГДЕ Session. id = '80f5f4f43334a7bc1446d06d143e6330' 1 1 0

23 ОБНОВЛЕНИЕ cake_sessions SET id = '80f5f4f43334a7bc1446d06d143e6330', data = '', expires = 1282010807 ГДЕ cake_sessions. id = '80f5f4f43334a7bc1446d30 01e3

24 SELECT Session. id, Session. data, Session. expires ИЗ cake_sessions AS Session ГДЕ id = '80f5f4f43334a7bc1446d06d143e6330' LIMIT 1 1 1 1

25 ВЫБРАТЬ СЧЕТ (*) КАК count ОТ cake_sessions КАК Session ГДЕ Session. id = '80f5f4f43334a7bc1446d06d143e6330' 1 1 1

26 ВЫБРАТЬ СЧЕТ (*) КАК count ОТ cake_sessions КАК Session ГДЕ Session. id = '80f5f4f43334a7bc1446d06d143e6330' 1 1 1

27 ОБНОВЛЕНИЕ cake_sessions SET id = '80f5f4f43334a7bc1446d06d143e6330', data = '', expires = 1282010807 ГДЕ cake_sessions. id = '80f5f4f43334a7bc1446830 01e3

28 SELECT Session. id, Session. data, Session. expires ИЗ cake_sessions AS Session ГДЕ id = '80f5f4f43334a7bc1446d06d143e6330' LIMIT 1 1 1 0

29 ВЫБРАТЬ СЧЕТ (*) КАК count ОТ cake_sessions КАК Session ГДЕ Session. id = '80f5f4f43334a7bc1446d06d143e6330' 1 1 1

30 ВЫБРАТЬ СЧЕТ (*) КАК count ОТ cake_sessions КАК Session ГДЕ Session. id = '80f5f4f43334a7bc1446d06d143e6330' 1 1 0

31 ОБНОВЛЕНИЕ cake_sessions SET id = '80f5f4f43334a7bc1446d06d143e6330', data = '', expires = 1282010807 ГДЕ cake_sessions. id = '80f5f4f43334a7bc1446d30d1ee

32 SELECT Session. id, Session. data, Session. expires ИЗ cake_sessions AS Session ГДЕ id = '80f5f4f43334a7bc1446d06d143e6330' LIMIT 1 1 1 0

33 SELECT COUNT (*) AS count ИЗ cake_sessions AS Session ГДЕ Session. id = '80f5f4f43334a7bc1446d06d143e6330' 1 1 0

34 SELECT COUNT (*) AS count ОТ cake_sessions AS Session ГДЕ Session. id = '80f5f4f43334a7bc1446d06d143e6330' 1 1 1

35 ОБНОВЛЕНИЕ cake_sessions SET id = '80f5f4f43334a7bc1446d06d143e6330', data = '', expires = 1282010807 ГДЕ cake_sessions. id = '80f5f4f43334a7bc1446d30 014e63e63e

36 SELECT Session. id, Session. data, Session. expires ИЗ cake_sessions AS Session ГДЕ id = '80f5f4f43334a7bc1446d06d143e6330' LIMIT 1 1 1 0

37 SELECT COUNT (*) AS count ОТ cake_sessions AS Session ГДЕ Session. id = '80f5f4f43334a7bc1446d06d143e6330' 1 1 0

38 ВЫБРАТЬ СЧЕТ (*) КАК count ОТ cake_sessions КАК Session ГДЕ Session. id = '80f5f4f43334a7bc1446d06d143e6330' 1 1 1

39 ОБНОВЛЕНИЕ cake_sessions SET id = '80f5f4f43334a7bc1446d06d143e6330', data = '', expires = 1282010807 ГДЕ cake_sessions. id = '80f5f4f43334a7bc1446d30d 0e6363

40 ВЫБРАТЬ Session. id, Session. data, Session, *1213*. expires ОТ cake_sessions КАК Session ГДЕ id = '80f5f4f43334a7bc1446d06d143e6330' LIMIT 1 1 1 0

41 ВЫБРАТЬ СЧЕТ (*) КАК count ИЗ cake_sessions КАК Session ГДЕ Session. id = '80f5f4f43334a7bc1446d06d143e6330' 1 1

42 ВЫБРАТЬ СЧЕТ (*)AS count ОТ cake_sessions AS Session ГДЕ Session. id = '80f5f4f43334a7bc1446d06d143e6330' 1 1 0

43 ОБНОВЛЕНИЕ cake_sessions SET id = '80f5f4f43334a7b3363063= '', expires = 1282010807 ГДЕ cake_sessions. id = '80f5f4f43334a7bc1446d06d143e6330' 0 1

44 SELECT Session. id, Session. data, Session. expires ОТ cake_sessions КАК Session ГДЕ id = '80f5f4f43334a7bc1446d06d143e6330' ПРЕДЕЛ 1 1 1 0

45 ВЫБРАТЬ СЧЕТ (*) КАК count ОТ cake_sessions КАК Session ГДЕSession. id = '80f5f4f43334a7bc1446d06d143e6330' 1 1 0

46 ВЫБРАТЬ СЧЕТ (*) КАК count ИЗ cake_sessions КАК Session ГДЕ Session. id = '80f5f4f43433063661 1 0

47 ОБНОВЛЕНИЕ cake_sessions SET id = '80f5f4f43334a7bc1446d06d143e6330', data = '', expires = 1282010807 ГДЕ cake_sessions. id = '80f5f4f43334a7bc1446d06d143e6330' 0 12 * 48 * * * * * * * id, Session. data, Session. expires ИЗ cake_sessions КАК Session ГДЕ id = '80f5f4f43334a7bc1446d06d143e6330' LIMIT 1 1 1

49 DELETE SessionОТ cake_sessions КАК Session ГДЕ Session. expires <1440 0 1 </p>

50 ВЫБРАТЬ СЧЕТ (*) КАК count ОТ cake_sessions КАК Session ГДЕ Session. id = '80f5f4f43334a7bc1446d06d143e6330' 1 1 0

51 ВЫБРАТЬ СЧЕТ (*) AS count ИЗ cake_sessions AS Session ГДЕ Session. id = '80f5f4f43334a7b314303303063063*

52 ОБНОВЛЕНИЕ cake_sessions SET id = '80f5f4f43334a7bc1446d06d143e6330', data = '', expires = 1282010807, ГДЕ cake_sessions. id = '80f5f4f43334a7bc144613 * 133114133061431313 * 13313136353 ВЫБРАТЬ Session. id, Session. data, Session. expires ИЗ cake_sessions КАК Session ГДЕ id = '80f5f4f43334a7bc1446d06d143e6330' LIMIT 1 1 1 1

54 SELECT COUNT (*) AS count FROM cake_sessions AS Session ГДЕ Session. id = '80f5f4f43334a7bc1446d06d143e6330' 1 1 0

55 ВЫБРАТЬ СЧЕТ (*) КАК count ОТ cake_sessions КАК Session ГДЕ Sessionid = '80f5f4f43334a7bc1446d06d143e6330' 0 1

57 SELECT Session. id, Session. data, Session. expires ИЗ cake_sessions AS Session ГДЕ id = '80f5f4f43334a7bc1446d06d143e6330' LIMIT 1 1 1 0

58 ВЫБРАТЬ СЧЕТ (*) AS count ИЗ cake_sessions AS Session ГДЕ Session. id = '80f5f4f43334a7b34630663631364 *

59 ВЫБРАТЬ СЧЕТ (*) КАК count ОТ cake_sessions КАК Session ГДЕ Session. id = '80f5f4f43334a7bc1446d06d143e6330' 1 1

60 ОБНОВЛЕНИЕ cake_sessions НАБОРid = '80f5f4f43334a7bc1446d06d143e6330', data = '', expires = 1282010807, ГДЕ cake_sessions. id = '80f5f4f43334a7bc1446d06d143e6330' 0 1

13 * * 81 * 61 Session 61 * * 81Session.data, Session. expires ОТ cake_sessions КАК Session ГДЕ id = '80f5f4f43334a7bc1446d06d143e6330' ПРЕДЕЛ 1 1 1 1

62 ВЫБЕРИТЕ СЧЕТ (*) КАК count ОТ cake_sessions AS Session ГДЕ Session. id = '80f5f4f43334a7bc1446d06d143e6330' 1 1 0

63 ВЫБРАТЬ СЧЕТ (*) КАК count ОТ cake_sessions КАК Session ГДЕ Session.id = '80f5f4f43334a7bc1446d06d143e6330' 1 1 0

64 ОБНОВЛЕНИЕ cake_sessions SET id = '80f5f4f43334a7bc1446d06d143e6330', data = '', expires * * 02010= '80f5f4f43334a7bc1446d06d143e6330' 0 1

65 SELECT Session. id, Session. data, Session. expires ИЗ cake_sessions AS Session ГДЕ id ='80f5f4f43334a7bc1446d06d143e6330' LIMIT 1 1 1 0

66 ВЫБРАТЬ СЧЕТ (*) КАК count ОТ cake_sessions КАК Session ГДЕ Session. id = '80f5f4f43334a7bc1446d06d143e6330' 1 1 1

67 ВЫБРАТЬ СЧЕТ (*) КАК count ОТ cake_sessions КАК Session ГДЕ Session. id = '80f5f4f43334a7bc1446d06d143e6330' 1 1 1

68 ОБНОВЛЕНИЕ cake_sessions SET id = '80f5f4f43334a7bc1446d06d143e6330', data = '', expires = 1282010807 ГДЕ cake_sessions. id = '80f5f4f43334a7bc1446d30d1e

69 УДАЛИТЬ Session ОТ cake_sessions КАК Session ГДЕ Session. expires <1281974807 0 1 </p>

70 SELECT Session. id, Session. data, Session. expires ИЗ cake_sessions AS Session ГДЕ id = '80f5f4f43334a7bc1446d06d143e6330' LIMIT 1 1 1 0

71 ВЫБРАТЬ СЧЕТ (*) КАК count ОТ cake_sessions КАК Session ГДЕ Session. id = '80f5f4f43334a7bc1446d06d143e6330' 1 1 1

72 ВЫБРАТЬ СЧЕТ (*) КАК count ОТ cake_sessions КАК Session ГДЕ Session. id = '80f5f4f43334a7bc1446d06d143e6330' 1 1 0

73 ОБНОВЛЕНИЕ cake_sessions SET id = '80f5f4f43334a7bc1446d06d143e6330', data = '', expires = 1282010807 ГДЕ cake_sessions. id = '80f5f4f43334a7bc144685301 1e

74 SELECT Session. id, Session. data, Session. expires ИЗ cake_sessions AS Session ГДЕ id = '80f5f4f43334a7bc1446d06d143e6330' LIMIT 1 1 1 0

1 Ответ

0 голосов
/ 16 августа 2010

Кажется, что в ядре торта есть ошибка, которая не была объединена. Методы _read и _write для cake_session неправильно проверяют, находится ли что-либо в _SESSION.

Этот патч исправляет проблему:

http://github.com/dogmatic69/cakephp1x/commit/1940f80016ff136698e0e49f3097f8b6b29e9659

Благодаря dogmatic69

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...