Se acerca la quinta generación de redes móviles, que promete grandes mejoras en el rendimiento, así como la posibilidad de interconectar personas con cosas e incluso seres vivos de otras especies. Su llegada no solo representa una mejora en la forma en que podemos comunicarnos, sino también en cómo se puede comunicar todo y, más que eso, la apertura de un mercado con multitud de nuevos productos. En este artículo damos los aspectos básicos de la tecnología utilizada en esta quinta generación de redes móviles, 5G.

La amplitud de información que podemos tener sobre esta nueva generación de redes es extremadamente amplia, al igual que su gama de usos. Así, en un solo artículo, no podremos trasmitir al lector todo lo que existe.

Nuestro propósito con este artículo es presentar al lector, conceptos básicos que, con el tiempo, en forma de otros artículos, irán ampliando el conocimiento de todos con la creciente posibilidad de crear productos y nuevas aplicaciones.

 

Lo que nos promete la 5G

Eso sí, como quinta generación de comunicaciones móviles, el 5G debería ser mejor que los anteriores, y si es posible, aprovechar todo lo que ya existe. En particular, se debe centrar la atención en la posibilidad de utilizar toda la infraestructura existente.

En muchos países ya está presente, como en México desde el segundo trimestre de 2021 y en otros está llegando.

Así, mirando a versiones anteriores, lo que se espera es que seamos capaces de incrementar la velocidad del tráfico de información y el número de usuarios, incluidos en este caso los usuarios “no humanos”.

El número de usuarios humanos no debería crecer demasiado, sin embargo, abre la necesidad de que tengamos una gran cantidad de dispositivos instalados en objetos, animales e incluso plantas.

En una proyección realizada, se cree que alrededor de 2022 tendremos más de 12 mil millones de dispositivos asociados a no humanos conectados a la red. Es el Internet de las cosas, incluidos los dispositivos conectados a animales y plantas.

 

Figura 1 - Más de 12 mil millones de dispositivos no estarán directamente asociados con un ser humano.
Figura 1 - Más de 12 mil millones de dispositivos no estarán directamente asociados con un ser humano.

 

Todo esto requiere que tengamos una tecnología capaz de soportar un tráfico de información mucho mayor y esto incluye no solo la cantidad de dispositivos, sino también su ubicación, ya que tendrán una distribución global.

En un viaje a China, es posible que desee ver cómo es su hogar en su país latino, accediendo a una cámara en su teléfono celular.

Una proyección muestra que para el 2022, el 79% de los datos transmitidos por la red serán imágenes. Comparativamente, este número fue del 59% en 2017.

Esto representa una enorme cantidad de datos, con la necesidad de una velocidad de transmisión muy rápida, pero los propios teléfonos inteligentes serán los responsables de un aumento considerable en la cantidad de datos generados.

Una encuesta muestra que para 2022, cada teléfono celular será responsable de producir 11 GB de datos móviles por mes. En 2017 solo había 2 GB.

 

Figura 2 - Crecimiento de datos móviles
Figura 2 - Crecimiento de datos móviles

 

Pero el hecho principal es que las comunicaciones móviles estarán en todas partes y esto requerirá la creación de nuevos dispositivos electrónicos con mayor velocidad, mayor eficiencia y sensibilidad, en el caso de la recepción.

La tecnología y las características

Para cumplir con estos avances, las modificaciones del dispositivo deben realizarse de manera marcada.

Por ejemplo, para la velocidad típica actual de 100 Mbps, tendremos un salto a 10 Gbps o incluso más rápido. La latencia se reducirá 10 veces o más hasta ser inferior a 1 ms,

Todo esto dará lugar a nuevas posibilidades para aplicaciones como videos 3D, UHD, automatización industrial, vehículos autónomos, ciudades inteligentes, hogar inteligente, reconocimiento de voz, como se sugiere en la figura 3.

Figura 3 - Escenarios de uso
Figura 3 - Escenarios de uso

 

 

Implantación

El uso de bandas de frecuencias más altas, divididas en bandas por debajo de 6 GHz y entre 28 y 86 GHz (ondas milimétricas) requerirá una distribución diferente de las estaciones.

Se implementarán redes hiperdensas con un número mucho mayor de células para superar los obstáculos de la propagación de la señal. En la figura 4 tenemos un ejemplo.

 

Figura 4 - Implantación de células pequeñas hiperdensas (células pequeñas hiperdensas)
Figura 4 - Implantación de células pequeñas hiperdensas (células pequeñas hiperdensas)

 

 

Tecnología electrónica

Hoy ya podemos contar con una serie de componentes desarrollados por diferentes fabricantes para su uso en todas las futuras aplicaciones 5G.

Además de los componentes básicos que sirven para implementar el acceso a la tecnología en sí, con características de velocidad, consumo, potencia, etc., tenemos que considerar los componentes de soporte e interfaz como cargadores de baterías, escudos, memorias, etc.

El diseñador que tenga la intención de desarrollar un producto 5G, una aplicación de Internet de las cosas u otros debe estar al tanto de los lanzamientos.

Como toda tecnología, tu vida puede ser efímera. Tanto es así, que ya se habla de 6G con el uso de las llamadas ondas T, es decir, ondas en la banda de terahertz que tienen un comportamiento bastante diferente a las ondas que todavía se utilizan en 5G.

Se trata de ondas submilimétricas que se comportan mucho más como la luz que las señales de radio, en una transición al infrarrojo que dará lugar a aplicaciones aún más rápidas, pero con el manejo de los dispositivos de recepción y transmisión realizados de una forma sin precedentes.

Las tecnologías de microespejos en lugar de antenas, la emisión de señales por fuentes de luz tradicionalmente son cosas que pueden aparecer en las generaciones futuras.

 

 

18.905MBMemory Usage38.86msRequest Duration
Joomla! Version5.2.3
PHP Version8.3.16
Identityguest
Response200
Templatecassiopeia
Database
Server
mysql
Version
10.5.22-MariaDB
Collation
latin1_swedish_ci
Conn Collation
utf8mb4_general_ci
$_GET
[]
$_POST
[]
$_SESSION
array:1 [ "joomla" => "***redacted***" ]
$_COOKIE
array:1 [ "c2123392c06423339225f3431360b7e6" => "uji37avo9ujvtnot8cin9to7pt" ]
$_SERVER
array:52 [ "USER" => "apache" "HOME" => "/usr/share/httpd" "SCRIPT_NAME" => "/index.php" "RE...
session
array:3 [ "counter" => 4 "timer" => array:3 [ "start" => 1741906527 "last" => 1741906537...
registry
array:3 [ "data" => [] "initialized" => false "separator" => "." ]
user
array:21 [ "id" => 0 "name" => null "username" => null "email" => null "password" => "***r...
  • afterLoad (85.8KB) (312μs)
  • afterInitialise (1.14MB) (3.46ms)
  • afterRoute (179.16KB) (855μs)
  • beforeRenderComponent com_content (100.65KB) (416μs)
  • Before Access::preloadComponents (all components) (33.5KB) (194μs)
  • After Access::preloadComponents (all components) (107.06KB) (361μs)
  • Before Access::preloadPermissions (com_content) (1.57KB) (8μs)
  • After Access::preloadPermissions (com_content) (16.19MB) (18.87ms)
  • Before Access::getAssetRules (id:14525 name:com_content.article.18522) (514.65KB) (552μs)
  • After Access::getAssetRules (id:14525 name:com_content.article.18522) (7.38KB) (33μs)
  • afterRenderComponent com_content (392.31KB) (6.35ms)
  • afterDispatch (2.25KB) (55μs)
  • beforeRenderRawModule mod_articles_category (Banco de Circuitos) (359.23KB) (1.61ms)
  • afterRenderRawModule mod_articles_category (Banco de Circuitos) (79.43KB) (310μs)
  • beforeRenderRawModule mod_finder (Busca_inteligente) (5.9KB) (89μs)
  • afterRenderRawModule mod_finder (Busca_inteligente) (64.98KB) (1.15ms)
  • beforeRenderModule mod_articles_category (Banco de Circuitos) (10.1KB) (551μs)
  • afterRenderModule mod_articles_category (Banco de Circuitos) (5.14KB) (73μs)
  • beforeRenderModule mod_finder (Busca_inteligente) (6.14KB) (188μs)
  • afterRenderModule mod_finder (Busca_inteligente) (4.75KB) (50μs)
  • afterRender (253.23KB) (3.25ms)
  • 1 x After Access::preloadPermissions (com_content) (16.19MB) (48.57%)
    18.87ms
    1 x afterRenderComponent com_content (392.31KB) (16.33%)
    6.35ms
    1 x afterInitialise (1.14MB) (8.89%)
    3.46ms
    1 x afterRender (253.23KB) (8.38%)
    3.25ms
    1 x beforeRenderRawModule mod_articles_category (Banco de Circuitos) (359.23KB) (4.15%)
    1.61ms
    1 x afterRenderRawModule mod_finder (Busca_inteligente) (64.98KB) (2.95%)
    1.15ms
    1 x afterRoute (179.16KB) (2.2%)
    855μs
    1 x Before Access::getAssetRules (id:14525 name:com_content.article.18522) (514.65KB) (1.42%)
    552μs
    1 x beforeRenderModule mod_articles_category (Banco de Circuitos) (10.1KB) (1.42%)
    551μs
    1 x beforeRenderComponent com_content (100.65KB) (1.07%)
    416μs
    1 x After Access::preloadComponents (all components) (107.06KB) (0.93%)
    361μs
    1 x afterLoad (85.8KB) (0.8%)
    312μs
    1 x afterRenderRawModule mod_articles_category (Banco de Circuitos) (79.43KB) (0.8%)
    310μs
    1 x Before Access::preloadComponents (all components) (33.5KB) (0.5%)
    194μs
    1 x beforeRenderModule mod_finder (Busca_inteligente) (6.14KB) (0.48%)
    188μs
    1 x beforeRenderRawModule mod_finder (Busca_inteligente) (5.9KB) (0.23%)
    89μs
    1 x afterRenderModule mod_articles_category (Banco de Circuitos) (5.14KB) (0.19%)
    73μs
    1 x afterDispatch (2.25KB) (0.14%)
    55μs
    1 x afterRenderModule mod_finder (Busca_inteligente) (4.75KB) (0.13%)
    50μs
    1 x After Access::getAssetRules (id:14525 name:com_content.article.18522) (7.38KB) (0.09%)
    33μs
    1 x Before Access::preloadPermissions (com_content) (1.57KB) (0.02%)
    8μs
21 statements were executed, 5 of which were duplicates, 16 unique10.75ms1.57MB
  • SELECT @@SESSION.sql_mode;31μs968B/libraries/src/Session/MetadataManager.php:184Copy
  • SELECT `session_id` FROM `incbmx_session` WHERE `session_id` = :session_id LIMIT 161μs1.31KBParams/libraries/src/Session/MetadataManager.php:187Copy
  • UPDATE `incbmx_session` SET `guest` = :guest , `time` = :time , `userid` = :user_id , `username` = :username , `client_id` = :client_id WHERE `session_id` = :session_id58μs992BParams/libraries/src/Session/MetadataManager.php:316Copy
  • SELECT `id`,`rules` FROM `incbmx_viewlevels`51μs608B/libraries/src/Access/Access.php:955Copy
  • SELECT `b`.`id` FROM `incbmx_usergroups` AS `a` LEFT JOIN `incbmx_usergroups` AS `b` ON `b`.`lft` <= `a`.`lft` AND `b`.`rgt` >= `a`.`rgt` WHERE `a`.`id` = :guest66μs1.64KBParams/libraries/src/Access/Access.php:868Copy
  • SELECT `c`.`id`,`c`.`asset_id`,`c`.`access`,`c`.`alias`,`c`.`checked_out`,`c`.`checked_out_time`,`c`.`created_time`,`c`.`created_user_id`,`c`.`description`,`c`.`extension`,`c`.`hits`,`c`.`language`,`c`.`level`,`c`.`lft`,`c`.`metadata`,`c`.`metadesc`,`c`.`metakey`,`c`.`modified_time`,`c`.`note`,`c`.`params`,`c`.`parent_id`,`c`.`path`,`c`.`published`,`c`.`rgt`,`c`.`title`,`c`.`modified_user_id`,`c`.`version`, CASE WHEN CHAR_LENGTH(`c`.`alias`) != 0 THEN CONCAT_WS(':', `c`.`id`, `c`.`alias`) ELSE `c`.`id` END as `slug` FROM `incbmx_categories` AS `s` INNER JOIN `incbmx_categories` AS `c` ON (`s`.`lft` <= `c`.`lft` AND `c`.`lft` < `s`.`rgt`) OR (`c`.`lft` < `s`.`lft` AND `s`.`rgt` < `c`.`rgt`) WHERE (`c`.`extension` = :extension OR `c`.`extension` = 'system') AND `c`.`published` = 1 AND `s`.`id` = :id ORDER BY `c`.`lft`222μs20.2KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT `id`,`name`,`rules`,`parent_id` FROM `incbmx_assets` WHERE `name` IN (:preparedArray1,:preparedArray2,:preparedArray3,:preparedArray4,:preparedArray5,:preparedArray6,:preparedArray7,:preparedArray8,:preparedArray9,:preparedArray10,:preparedArray11,:preparedArray12,:preparedArray13,:preparedArray14,:preparedArray15,:preparedArray16,:preparedArray17,:preparedArray18,:preparedArray19,:preparedArray20,:preparedArray21,:preparedArray22,:preparedArray23,:preparedArray24,:preparedArray25,:preparedArray26,:preparedArray27,:preparedArray28,:preparedArray29,:preparedArray30,:preparedArray31,:preparedArray32,:preparedArray33,:preparedArray34,:preparedArray35,:preparedArray36,:preparedArray37,:preparedArray38,:preparedArray39)216μs7.44KBParams/libraries/src/Access/Access.php:357Copy
  • SELECT `id`,`name`,`rules`,`parent_id` FROM `incbmx_assets` WHERE `name` LIKE :asset OR `name` = :extension OR `parent_id` = 07.57ms1.46MBParams/libraries/src/Access/Access.php:301Copy
  • SHOW FULL COLUMNS FROM `incbmx_content`366μs2.39KB/libraries/vendor/joomla/database/src/Mysqli/MysqliDriver.php:587Copy
  • UPDATE `incbmx_content` SET `hits` = (`hits` + 1) WHERE `id` = '18522'187μs48B/libraries/src/Table/Table.php:1348Copy
  • SELECT `a`.`id`,`a`.`asset_id`,`a`.`title`,`a`.`alias`,`a`.`introtext`,`a`.`fulltext`,`a`.`state`,`a`.`catid`,`a`.`created`,`a`.`created_by`,`a`.`created_by_alias`,`a`.`modified`,`a`.`modified_by`,`a`.`checked_out`,`a`.`checked_out_time`,`a`.`publish_up`,`a`.`publish_down`,`a`.`images`,`a`.`urls`,`a`.`attribs`,`a`.`version`,`a`.`ordering`,`a`.`metakey`,`a`.`metadesc`,`a`.`access`,`a`.`hits`,`a`.`metadata`,`a`.`featured`,`a`.`language`,`fp`.`featured_up`,`fp`.`featured_down`,`c`.`title` AS `category_title`,`c`.`alias` AS `category_alias`,`c`.`access` AS `category_access`,`c`.`language` AS `category_language`,`fp`.`ordering`,`u`.`name` AS `author`,`parent`.`title` AS `parent_title`,`parent`.`id` AS `parent_id`,`parent`.`path` AS `parent_route`,`parent`.`alias` AS `parent_alias`,`parent`.`language` AS `parent_language`,ROUND(`v`.`rating_sum` / `v`.`rating_count`, 1) AS `rating`,`v`.`rating_count` AS `rating_count` FROM `incbmx_content` AS `a` INNER JOIN `incbmx_categories` AS `c` ON `c`.`id` = `a`.`catid` LEFT JOIN `incbmx_content_frontpage` AS `fp` ON `fp`.`content_id` = `a`.`id` LEFT JOIN `incbmx_users` AS `u` ON `u`.`id` = `a`.`created_by` LEFT JOIN `incbmx_categories` AS `parent` ON `parent`.`id` = `c`.`parent_id` LEFT JOIN `incbmx_content_rating` AS `v` ON `a`.`id` = `v`.`content_id` WHERE ( (`a`.`id` = :pk AND `c`.`published` > 0) AND (`a`.`publish_up` IS NULL OR `a`.`publish_up` <= :publishUp)) AND (`a`.`publish_down` IS NULL OR `a`.`publish_down` >= :publishDown) AND `a`.`state` IN (:preparedArray1,:preparedArray2)169μs22.13KBParams/components/com_content/src/Model/ArticleModel.php:215Copy
  • SELECT `c`.`id`,`c`.`asset_id`,`c`.`access`,`c`.`alias`,`c`.`checked_out`,`c`.`checked_out_time`,`c`.`created_time`,`c`.`created_user_id`,`c`.`description`,`c`.`extension`,`c`.`hits`,`c`.`language`,`c`.`level`,`c`.`lft`,`c`.`metadata`,`c`.`metadesc`,`c`.`metakey`,`c`.`modified_time`,`c`.`note`,`c`.`params`,`c`.`parent_id`,`c`.`path`,`c`.`published`,`c`.`rgt`,`c`.`title`,`c`.`modified_user_id`,`c`.`version`, CASE WHEN CHAR_LENGTH(`c`.`alias`) != 0 THEN CONCAT_WS(':', `c`.`id`, `c`.`alias`) ELSE `c`.`id` END as `slug` FROM `incbmx_categories` AS `s` INNER JOIN `incbmx_categories` AS `c` ON (`s`.`lft` <= `c`.`lft` AND `c`.`lft` < `s`.`rgt`) OR (`c`.`lft` < `s`.`lft` AND `s`.`rgt` < `c`.`rgt`) WHERE (`c`.`extension` = :extension OR `c`.`extension` = 'system') AND `c`.`access` IN (:preparedArray1,:preparedArray2) AND `c`.`published` = 1 AND `s`.`id` = :id ORDER BY `c`.`lft`189μs3.92KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT `m`.`tag_id`,`t`.* FROM `incbmx_contentitem_tag_map` AS `m` INNER JOIN `incbmx_tags` AS `t` ON `m`.`tag_id` = `t`.`id` WHERE `m`.`type_alias` = :contentType AND `m`.`content_item_id` = :id AND `t`.`published` = 1 AND `t`.`access` IN (:preparedArray1,:preparedArray2)231μs4KBParams/libraries/src/Helper/TagsHelper.php:388Copy
  • SELECT `c`.`id`,`c`.`asset_id`,`c`.`access`,`c`.`alias`,`c`.`checked_out`,`c`.`checked_out_time`,`c`.`created_time`,`c`.`created_user_id`,`c`.`description`,`c`.`extension`,`c`.`hits`,`c`.`language`,`c`.`level`,`c`.`lft`,`c`.`metadata`,`c`.`metadesc`,`c`.`metakey`,`c`.`modified_time`,`c`.`note`,`c`.`params`,`c`.`parent_id`,`c`.`path`,`c`.`published`,`c`.`rgt`,`c`.`title`,`c`.`modified_user_id`,`c`.`version`, CASE WHEN CHAR_LENGTH(`c`.`alias`) != 0 THEN CONCAT_WS(':', `c`.`id`, `c`.`alias`) ELSE `c`.`id` END as `slug` FROM `incbmx_categories` AS `s` INNER JOIN `incbmx_categories` AS `c` ON (`s`.`lft` <= `c`.`lft` AND `c`.`lft` < `s`.`rgt`) OR (`c`.`lft` < `s`.`lft` AND `s`.`rgt` < `c`.`rgt`) WHERE (`c`.`extension` = :extension OR `c`.`extension` = 'system') AND `c`.`access` IN (:preparedArray1,:preparedArray2) AND `c`.`published` = 1 AND `s`.`id` = :id ORDER BY `c`.`lft`168μs3.92KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT DISTINCT a.id, a.title, a.name, a.checked_out, a.checked_out_time, a.note, a.state, a.access, a.created_time, a.created_user_id, a.ordering, a.language, a.fieldparams, a.params, a.type, a.default_value, a.context, a.group_id, a.label, a.description, a.required, a.only_use_in_subform,l.title AS language_title, l.image AS language_image,uc.name AS editor,ag.title AS access_level,ua.name AS author_name,g.title AS group_title, g.access as group_access, g.state AS group_state, g.note as group_note FROM incbmx_fields AS a LEFT JOIN `incbmx_languages` AS l ON l.lang_code = a.language LEFT JOIN incbmx_users AS uc ON uc.id=a.checked_out LEFT JOIN incbmx_viewlevels AS ag ON ag.id = a.access LEFT JOIN incbmx_users AS ua ON ua.id = a.created_user_id LEFT JOIN incbmx_fields_groups AS g ON g.id = a.group_id LEFT JOIN `incbmx_fields_categories` AS fc ON fc.field_id = a.id WHERE ( (`a`.`context` = :context AND (`fc`.`category_id` IS NULL OR `fc`.`category_id` IN (:preparedArray1,:preparedArray2,:preparedArray3)) AND `a`.`access` IN (:preparedArray4,:preparedArray5)) AND (`a`.`group_id` = 0 OR `g`.`access` IN (:preparedArray6,:preparedArray7)) AND `a`.`state` = :state) AND (`a`.`group_id` = 0 OR `g`.`state` = :gstate) AND `a`.`only_use_in_subform` = :only_use_in_subform ORDER BY a.ordering ASC381μs4.81KBParams/libraries/src/MVC/Model/BaseDatabaseModel.php:164Copy
  • SELECT `c`.`id`,`c`.`asset_id`,`c`.`access`,`c`.`alias`,`c`.`checked_out`,`c`.`checked_out_time`,`c`.`created_time`,`c`.`created_user_id`,`c`.`description`,`c`.`extension`,`c`.`hits`,`c`.`language`,`c`.`level`,`c`.`lft`,`c`.`metadata`,`c`.`metadesc`,`c`.`metakey`,`c`.`modified_time`,`c`.`note`,`c`.`params`,`c`.`parent_id`,`c`.`path`,`c`.`published`,`c`.`rgt`,`c`.`title`,`c`.`modified_user_id`,`c`.`version`, CASE WHEN CHAR_LENGTH(`c`.`alias`) != 0 THEN CONCAT_WS(':', `c`.`id`, `c`.`alias`) ELSE `c`.`id` END as `slug` FROM `incbmx_categories` AS `s` INNER JOIN `incbmx_categories` AS `c` ON (`s`.`lft` <= `c`.`lft` AND `c`.`lft` < `s`.`rgt`) OR (`c`.`lft` < `s`.`lft` AND `s`.`rgt` < `c`.`rgt`) WHERE (`c`.`extension` = :extension OR `c`.`extension` = 'system') AND `c`.`access` IN (:preparedArray1,:preparedArray2) AND `c`.`published` = 1 AND `s`.`id` = :id ORDER BY `c`.`lft`213μs3.92KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT `name`,`element` FROM `incbmx_extensions` WHERE `type` = 'plugin' AND `folder` = 'finder' AND `enabled` = 1158μs1.89KB/administrator/components/com_finder/src/Helper/LanguageHelper.php:135Copy
  • SELECT `title` FROM `incbmx_finder_taxonomy` WHERE `parent_id` = 1 AND `state` = 1 AND `access` IN (1,5)94μs648B/administrator/components/com_finder/src/Indexer/Taxonomy.php:325Copy
  • SELECT * FROM `incbmx_schemaorg` WHERE `itemId` = :itemId AND `context` = :context68μs1.55KBParams/plugins/system/schemaorg/src/Extension/Schemaorg.php:403Copy
  • SELECT `a`.`id`,`a`.`asset_id`,`a`.`title`,`a`.`alias`,`a`.`introtext`,`a`.`fulltext`,`a`.`state`,`a`.`catid`,`a`.`created`,`a`.`created_by`,`a`.`created_by_alias`,`a`.`modified`,`a`.`modified_by`,`a`.`checked_out`,`a`.`checked_out_time`,`a`.`publish_up`,`a`.`publish_down`,`a`.`images`,`a`.`urls`,`a`.`attribs`,`a`.`version`,`a`.`ordering`,`a`.`metakey`,`a`.`metadesc`,`a`.`access`,`a`.`hits`,`a`.`metadata`,`a`.`featured`,`a`.`language`,`fp`.`featured_up`,`fp`.`featured_down`,`c`.`title` AS `category_title`,`c`.`alias` AS `category_alias`,`c`.`access` AS `category_access`,`c`.`language` AS `category_language`,`fp`.`ordering`,`u`.`name` AS `author`,`parent`.`title` AS `parent_title`,`parent`.`id` AS `parent_id`,`parent`.`path` AS `parent_route`,`parent`.`alias` AS `parent_alias`,`parent`.`language` AS `parent_language`,ROUND(`v`.`rating_sum` / `v`.`rating_count`, 1) AS `rating`,`v`.`rating_count` AS `rating_count` FROM `incbmx_content` AS `a` INNER JOIN `incbmx_categories` AS `c` ON `c`.`id` = `a`.`catid` LEFT JOIN `incbmx_content_frontpage` AS `fp` ON `fp`.`content_id` = `a`.`id` LEFT JOIN `incbmx_users` AS `u` ON `u`.`id` = `a`.`created_by` LEFT JOIN `incbmx_categories` AS `parent` ON `parent`.`id` = `c`.`parent_id` LEFT JOIN `incbmx_content_rating` AS `v` ON `a`.`id` = `v`.`content_id` WHERE ( (`a`.`id` = :pk AND `c`.`published` > 0) AND (`a`.`publish_up` IS NULL OR `a`.`publish_up` <= :publishUp)) AND (`a`.`publish_down` IS NULL OR `a`.`publish_down` >= :publishDown) AND `a`.`state` IN (:preparedArray1,:preparedArray2)176μs22.17KBParams/components/com_content/src/Model/ArticleModel.php:215Copy
  • SELECT SUM(CASE WHEN `a`.`next_execution` <= :now THEN 1 ELSE 0 END) AS due_count,SUM(CASE WHEN `a`.`locked` IS NULL THEN 0 ELSE 1 END) AS locked_count FROM `incbmx_scheduler_tasks` AS `a` WHERE `a`.`state` = 176μs1.37KBParams/administrator/components/com_scheduler/src/Model/TasksModel.php:465Copy