Otimização de consulta de paginação Mysql

Primeiro, crie um teste de banco de dados e, em seguida, crie dispositivos de tabela (aqui para criar vários campos para demonstrar o efeito)

CRIAR  TABELA `devices` ( 
  ` id` VARCHAR ( 255 ) CARACTERES  SET utf8 AGRUPAR utf8_general_ci NÃO  NULL  PADRÃO  '' , 
  `TVName` VARCHAR ( 255 ) CARACTERES  SET utf8 AGRUPAR utf8_general_ci PADRÃO  NULL , 
  ` TVModelNumber` VARCHAR ( 255 ) CARACTERES  SET AGRUPAR utf8 utf8_general_ci DEFAULT  NULL , 
  `TVSerialNumber` varchar ( 20 )CARACTERES  SET utf8 AGRUPAR utf8_general_ci PADRÃO  NULL , 
  `TVRoomID` int ( 11 ) PADRÃO  NULL , 
  ` TVMACAddress` VARCHAR ( 17 ) DE CARACTERES  SET utf8 AGRUPAR utf8_general_ci PADRÃO  NULL , 
  `TVIPAddress` VARCHAR ( 15 ) DE CARACTERES  SET utf8 AGRUPAR utf8_general_ci PADRÃO  NULL , 
  ` VSecureTVID ` varchar ( 20 ) JOGO DE PERSONAGENS utf8 AGRUPAR utf8_general_ci PADRÃO  NULL , 
  `tipo` VARCHAR ( 50 ) DE CARACTERES  SET utf8 AGRUPAR utf8_general_ci PADRÃO  NULL , 
  ` PowerStatus` VARCHAR ( 20 ) DE CARACTERES  SET utf8 AGRUPAR utf8_general_ci PADRÃO  NULL , 
  `TVUniqueID` VARCHAR ( 255 ) CARACTERES  SET utf8 AGRUPAR utf8_general_ci PADRÃO  NULL , 
  `FirmwareId` int ( 11 )DEFAULT  NULL , 
  `CloneId` int ( 11 ) DEFAULT  NULL , 
  ` LastCloneRename` varchar ( 255 ) CHARACTER  SET utf8 COLLATE utf8_general_ci DEFAULT  ' {\ "old \": \ "Unknown \", \ "new \": \ "Unknown \ "} ' , 
  ` Status` varchar ( 30 ) CONJUNTO DE CARACTERÍSTICAS  utf8 COLLATE utf8_general_ci DEFAULT NULL , 
  `Progress` varchar ( 30 ) CONJUNTO DE CARACTERES  utf8 AGRUPAR utf8_general_ci PADRÃO  NULL , 
  `TVStatus` texto  CARACTERES  SET utf8 AGRUPAR utf8_general_ci, 
  ` si_clone_Identifiers` VARCHAR ( 100 ) CARACTERES  SET utf8 AGRUPAR utf8_general_ci PADRÃO  NULL , 
  `si_firmware_Identifier` VARCHAR ( 100 ) CARACTERES  SET utf8 AGRUPAR utf8_general_ci PADRÃO  NULL , 
  ` tv_clone_Identifiers` VARCHAR ( 8000 ) CONJUNTO DE PERSONAGENS utf8 AGRUPAR utf8_general_ci PADRÃO  NULL , 
  `tv_firmware_Identifier` VARCHAR ( 100 ) CARACTERES  SET utf8 AGRUPAR utf8_general_ci PADRÃO  NULL , 
  ` success_siclone_Identifier` VARCHAR ( 50 ) DE CARACTERES  SET utf8 AGRUPAR utf8_general_ci PADRÃO  NULL , 
  `success_tvclone_Identifier` VARCHAR ( 50 ) DE CARACTERES  SET utf8 AGRUPAR utf8_general_ci PADRÃO  NULL , 
  `clone_color`VARCHAR ( 50 ) DE CARACTERES  SET utf8 AGRUPAR utf8_general_ci PADRÃO  ' negra ' , 
  `fw_color` VARCHAR ( 50 ) DE CARACTERES  SET utf8 AGRUPAR utf8_general_ci PADRÃO  ' negra ' , 
  ` CreatedDate` VARCHAR ( 30 ) DE CARACTERES  SET utf8 AGRUPAR utf8_general_ci PADRÃO  NULL , 
  `ModifiedDate` VARCHAR ( 30 ) CONJUNTO DE PERSONAGENS utf8 AGRUPAR utf8_general_ci PADRÃO  NULL , 
  `Lastonline` VARCHAR ( 30 ) DE CARACTERES  SET utf8 AGRUPAR utf8_general_ci PADRÃO  NULL , 
  ` clone_mode` VARCHAR ( 10 ) DE CARACTERES  SET utf8 AGRUPAR utf8_general_ci NÃO  NULL  PADRÃO  ' Actualiza ' , 
  `upload_progress` VARCHAR ( 10 ) DE CARACTERES  SET utf8 COLLATE utf8_general_ci DEFAULT  ' ST ', 
  `Upload_session_id` VARCHAR ( 45 ) DE CARACTERES  SET utf8 AGRUPAR utf8_general_ci PADRÃO  NULL , 
  ` upload_session_start` VARCHAR ( 45 ) DE CARACTERES  SET utf8 AGRUPAR utf8_general_ci PADRÃO  NULL , 
  `upload_session_end` VARCHAR ( 45 ) DE CARACTERES  SET utf8 AGRUPAR utf8_general_ci PADRÃO  NULL , 
  ` upload_session_status` VARCHAR ( 45 ) CONJUNTO DE PERSONAGENS utf8 AGRUPAR utf8_general_ci PADRÃO  NULL , 
  `channel_color` VARCHAR ( 45 ) DE CARACTERES  SET utf8 AGRUPAR utf8_general_ci PADRÃO  NULL , 
  ` app_color` VARCHAR ( 45 ) DE CARACTERES  SET utf8 AGRUPAR utf8_general_ci PADRÃO  NULL , 
  `upgrade_type` VARCHAR ( 45 ) DE CARACTERES  SET utf8 AGRUPAR utf8_general_ci PADRÃO  NULL , texto  
  `si_Identifiers` CHARACTER SET utf8 AGRUPAR utf8_general_ci, 
  `networkInterfaceIp` VARCHAR ( 15 ) DE CARACTERES  SET utf8 AGRUPAR utf8_general_ci PADRÃO  NULL , 
  ` clone_type` VARCHAR ( 45 ) DE CARACTERES  SET utf8 AGRUPAR utf8_general_ci PADRÃO  ' Nenhum ' ,
   PRIMÁRIA  CHAVE ( `id`) USANDO BTREE,
   ÍNDICE ` FirmwareId `(` FirmwareId`) USANDO BTREE,
   INDEX `CloneId` (` CloneId`) USANDO BTREE 
) ENGINE = InnoDB CHARACTER  SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Compacto;

Quero adicionar 8000 dados aos dispositivos nesta tabela.

SELECT * FROM limite dos dispositivos 7000,10 # 0,015s O tempo consumido aqui é 0,015s

selecione * de `dispositivos` onde id> (selecione ID de dispositivos com limite de 7000,1) limite 10 # 0.002s O tempo consumido aqui é 0,002s

Mesma consulta de paginação, consumo de tempo diferente


Para continuar ...

Acho que você gosta

Origin www.cnblogs.com/xumBlog/p/12708281.html
Recomendado
Clasificación