Skip to main content

Vitamin D can successfully be measured in hair and deliver a more accurate time image

Vitamin D can successfully be measured in hair and deliver a more accurate time imageAll cells in the body depend on vitamin D. Unfortunately, many people lack the nutrient, and the list of diseases caused by too little vitamin D is growing. A new study from Trinity College in Dublin shows that it is possible to measure vitamin D levels in hair, and this can reveal the large fluctuations that occur in the course of a year, and which an ordinary blood test fails to show. The scientists can see a huge potential with this new type of measurement, which can even be used on historical populations such as the ancient Egyptians or on prehistoric animals such as the mammoths.

Vitamin D deficiencies have become increasingly common as a result of our modern lifestyle and sun awareness campaigns. An estimated one billion people worldwide lack vitamin D, which puts them at increased risk of a host of acute and chronic diseases, including influenza, asthma, depression, cardiovascular disease, inflammation, diabetes, cancer, and osteoporosis. There is also this widespread misconception that people living at our latitude can synthesize vitamin D all year around, as long as the sun shines. This is not the case, and health authorities should therefore be much more focused on the vital nutrient.

A regular blood test does not show how levels fluctuate

A blood test is the simplest and most common way to determine levels of vitamin D. However, blood tests can be unpleasant, and they require expert knowledge, a high level of hygiene, and proper equipment. More importantly, a blood sample only provides a here-and-now status. According to the scientists from Trinity College in Dublin, Ireland, this is rather problematic, as the body’s vitamin D levels can vary quite a lot, depending on the time of year.
The sun is our primary source of vitamin D, and we only get limited quantities of the nutrient from our food. At our latitude, we are only able to synthesize vitamin D during the summer period, when the sun sits sufficiently high in the sky to enable the skin to synthesize the vitamin. The body then stores vitamin D in the liver for use later in the season. How much vitamin D we produce, and how long the liver’s accumulated stores are able to last, varies from person to person. You may have optimal levels of vitamin D during the summer period and in the autumn, but then your levels plummet in the winter, and that deficit may last until the following May, when the sun regains its power.
Because of these fluctuations, a single blood sample taken in the autumn or in the winter is unable to tell you anything about your body’s vitamin D status in the spring. Not surprisingly, many people suffer from respiratory infections, joint pain, and depression during the winter period and feel a lot better when summer arrives. Many people with heathy lives, who get plenty of sunshine, have vitamin D levels that fluctuate in the course of the year, and that is perfectly normal. However, there are also many people, who suffer from chronic vitamin D deficiency, simply because they avoid sun exposure, and that may eventually increase their risk of serious diseases. Sun factor cream, being dark-skinned, ageing, overweight, diabetes, and lack of magnesium also make it difficult to synthesize or utilize vitamin D, and it also increases your need for the nutrient.

The successful study

The new study from Trinity College in Dublin is published in the scientific journal Nutrients and is the first study in the world to show that is possible to measure vitamin D levels in hair. According to the scientists, this is a very large and successful step in the direction of being able to measure vitamin D levels in the body over a longer period.
As mentioned earlier, traditional blood samples are only able to deliver a here and now picture. In contrast, a hair strand that grows approximately one centimeter per month is able to deliver a picture of the body’s vitamin D levels over a period of one year or longer, given the hair has the right length. That way, a hair sample can reveal seasonal variations or other differences that occur through life.
Lina Zgaga, a professor of epidemiology at Trinity College in Dublin, sees this as a whole new way of measuring vitamin D levels over a longer period. She explains that vitamin D is constantly being stored in hair, while it grows. Consequently, more of the nutrient is stored when blood levels are high, and less is stored if there is little vitamin D in the blood.
More research is needed in terms of the relation between levels of vitamin D in the blood and the hair over an extended period. It is also necessary to investigate factors that may affect vitamin D levels in the hair, for instance hair thickness, and the use of hair dye and other chemical products.

New, exiciting historical measurements

The Trinity College scientists say that the new techniques for measuring vitamin D can even be used on archaeological discoveries. Hair and teeth are both examples of biological tissues that deteriorate extremely slowly, unlike other materials, and it is now possible to measure vitamin D levels over a longer period of time in ancient populations such as the Vikings, the Egyptians, the Celts, the Romans, and the Chinese from the old empires. It is even possible to measure levels of vitamin D in livestock like cows and pigs, mammoths and other prehistoric animals that have been discovered in excellent condition under the permafrost.

Future perspectives for prevention and treatment

The presence of vitamin D in the hair, the scientists say, may be seen as an individual reflection of vitamin D levels through periods of a person’s life. Such hair analyses open new doors to epidemiological studies that show a relation between the body’s levels of vitamin D and a host of acute and chronic diseases in individuals and large groups of the population. In the future, such hair analyses may help us understand why diseases caused by too little vitamin D develop, and we may also be better at preventing and treating them with vitamin D from sunlight and supplements.

Measuring vitamin D in the blood

Vitamin D in the blood is measured as 25-hydroxyvitamin D. The official threshold value is 50 ng/ml, but leading scientists are convinced that this is inadequate and recommend as much as 75-100 ng/ml for optimal disease prevention. Because vitamin D levels fluctuate in the course of a year and are normally lowest in the springtime, it is necessary to make several measurements to get an accurate picture.

References:

Lina Zgaga et al. 25-Hydroxyvitamin D Measurement in Human Hair; Results from a Proof-of-Concept study. Nutrients 2019

Qi Dai el al. Abstract CT093: Bimodal relationship between magnesium supplementation and vitamin D status and metabolism: Results from randomized trial. Cancer Research July 2018

Anne Marie Uwitonze, Mohammed S Razzaque. Role of magnesium in Vitamin D Activation and Function. The Journal of the American Osteopathic Association. 2018

  • Created on .
8.778MBMemory Usage447msRequest Duration
Joomla! Version4.4.4
PHP Version8.3.6
Identityguest
Response200
Templateyootheme
Database
Server
mysql
Version
8.0.40-0ubuntu0.24.04.1
Collation
latin1_swedish_ci
Conn Collation
utf8mb4_0900_ai_ci
$_GET
[]
$_POST
[]
$_SESSION
array:1 [ "joomla" => "***redacted***" ]
$_COOKIE
[]
$_SERVER
array:46 [ "REDIRECT_HTTP_AUTHORIZATION" => "" "REDIRECT_HTTPS" => "on" "REDIRECT_SSL_TLS_SNI"...
session
array:3 [ "counter" => 1 "timer" => array:3 [ "start" => 1740279832 "last" => 1740279832...
registry
array:3 [ "data" => [] "initialized" => false "separator" => "." ]
user
array:18 [ "id" => 0 "name" => null "username" => null "email" => null "password" => "***r...
plg_system_languagefilter
array:1 [ "language" => "en-GB" ]
  • afterLoad (456.63KB) (4.05ms)
  • afterInitialise (1.27MB) (52.06ms)
  • afterRoute (897.2KB) (15.05ms)
  • beforeRenderComponent com_content (24.01KB) (779μs)
  • Before Access::preloadComponents (all components) (33.23KB) (279μs)
  • After Access::preloadComponents (all components) (97.34KB) (1.91ms)
  • Before Access::preloadPermissions (com_content) (1.6KB) (24μs)
  • After Access::preloadPermissions (com_content) (3.2MB) (16.61ms)
  • Before Access::getAssetRules (id:4154 name:com_content.article.2052) (130.65KB) (122μs)
  • After Access::getAssetRules (id:4154 name:com_content.article.2052) (7.38KB) (65μs)
  • beforeRenderRawModule mod_custom (Search for more information...) (1.35MB) (69.23ms)
  • afterRenderRawModule mod_custom (Search for more information...) (4.29KB) (260μs)
  • beforeRenderModule mod_custom (Search for more information...) (736B) (5μs)
  • afterRenderModule mod_custom (Search for more information...) (6.04KB) (179μs)
  • afterRenderComponent com_content (56.55KB) (46.4ms)
  • Before Access::getAssetRules (id:8 name:com_content) (49.93KB) (9.92ms)
  • After Access::getAssetRules (id:8 name:com_content) (6.17KB) (38μs)
  • afterDispatch (17.69KB) (2.09ms)
  • beforeRenderRawModule mod_articles_category (READ MORE...) (32.27KB) (520μs)
  • afterRenderRawModule mod_articles_category (READ MORE...) (80.83KB) (94.64ms)
  • beforeRenderRawModule mod_custom (BOOST YOUR IMMUNE DEFENSE) (6.45KB) (796μs)
  • afterRenderRawModule mod_custom (BOOST YOUR IMMUNE DEFENSE) (912B) (1.39ms)
  • beforeRenderRawModule mod_tags_popular (Search) (2.36KB) (25μs)
  • afterRenderRawModule mod_tags_popular (Search) (13.61KB) (93.17ms)
  • beforeRenderRawModule mod_custom (Check this before you buy a Q10 product) (944B) (27μs)
  • afterRenderRawModule mod_custom (Check this before you buy a Q10 product) (928B) (46μs)
  • beforeRenderRawModule mod_custom (the Vitamin and Mineral Guide) (736B) (11μs)
  • afterRenderRawModule mod_custom (the Vitamin and Mineral Guide) (992B) (22μs)
  • beforeRenderModule mod_articles_category (READ MORE...) (276.94KB) (4.42ms)
  • afterRenderModule mod_articles_category (READ MORE...) (1.25KB) (81μs)
  • beforeRenderModule mod_custom (BOOST YOUR IMMUNE DEFENSE) (6.81KB) (15μs)
  • afterRenderModule mod_custom (BOOST YOUR IMMUNE DEFENSE) (1.28KB) (25μs)
  • beforeRenderModule mod_tags_popular (Search) (1.98KB) (13μs)
  • afterRenderModule mod_tags_popular (Search) (2.52KB) (23μs)
  • beforeRenderModule mod_custom (Check this before you buy a Q10 product) (1.31KB) (11μs)
  • afterRenderModule mod_custom (Check this before you buy a Q10 product) (1.28KB) (20μs)
  • beforeRenderModule mod_custom (the Vitamin and Mineral Guide) (352B) (9μs)
  • afterRenderModule mod_custom (the Vitamin and Mineral Guide) (1.28KB) (2.08ms)
  • beforeRenderRawModule mod_menu (Main Menu - English) (22.53KB) (486μs)
  • afterRenderRawModule mod_menu (Main Menu - English) (192.54KB) (3.28ms)
  • beforeRenderModule mod_menu (Main Menu - English) (720B) (7μs)
  • afterRenderModule mod_menu (Main Menu - English) (4.86KB) (71μs)
  • beforeRenderRawModule mod_languages (Sprogskift) (3.94KB) (22μs)
  • afterRenderRawModule mod_languages (Sprogskift) (20.9KB) (5.05ms)
  • beforeRenderModule mod_languages (Sprogskift) (720B) (128μs)
  • afterRenderModule mod_languages (Sprogskift) (5.31KB) (33μs)
  • beforeRenderRawModule mod_finder () (6.34KB) (17μs)
  • afterRenderRawModule mod_finder () (128.95KB) (3.63ms)
  • beforeRenderModule mod_finder () (704B) (6μs)
  • afterRenderModule mod_finder () (3.29KB) (43μs)
  • beforeRenderRawModule mod_custom () (6.62KB) (2.21ms)
  • afterRenderRawModule mod_custom () (22.3KB) (1.14ms)
  • beforeRenderModule mod_custom () (704B) (9μs)
  • afterRenderModule mod_custom () (1.23KB) (64μs)
  • beforeRenderRawModule mod_menu (Main Menu - English) (5.07KB) (131μs)
  • afterRenderRawModule mod_menu (Main Menu - English) (6.52KB) (2.1ms)
  • beforeRenderModule mod_menu (Main Menu - English) (720B) (5μs)
  • afterRenderModule mod_menu (Main Menu - English) (1.25KB) (61μs)
  • beforeRenderRawModule mod_languages (Sprogskift Mobil) (912B) (22μs)
  • afterRenderRawModule mod_languages (Sprogskift Mobil) (3.89KB) (1.94ms)
  • beforeRenderModule mod_languages (Sprogskift Mobil) (720B) (3μs)
  • afterRenderModule mod_languages (Sprogskift Mobil) (1.27KB) (36μs)
  • beforeRenderRawModule mod_finder () (2.3KB) (12μs)
  • afterRenderRawModule mod_finder () (6.09KB) (1.9ms)
  • beforeRenderModule mod_finder () (704B) (6μs)
  • afterRenderModule mod_finder () (3.73KB) (58μs)
  • beforeRenderRawModule mod_custom () (8.66KB) (203μs)
  • afterRenderRawModule mod_custom () (944B) (166μs)
  • beforeRenderModule mod_custom () (704B) (3μs)
  • afterRenderModule mod_custom () (2.43KB) (28μs)
  • beforeRenderRawModule mod_custom () (688B) (1.15ms)
  • afterRenderRawModule mod_custom () (896B) (167μs)
  • beforeRenderModule mod_custom () (704B) (3μs)
  • afterRenderModule mod_custom () (2.71KB) (36μs)
  • afterRender (195.84KB) (6.16ms)
  • 1 x afterRenderRawModule mod_articles_category (READ MORE...) (80.83KB) (21.15%)
    94.64ms
    1 x afterRenderRawModule mod_tags_popular (Search) (13.61KB) (20.82%)
    93.17ms
    1 x beforeRenderRawModule mod_custom (Search for more information...) (1.35MB) (15.47%)
    69.23ms
    1 x afterInitialise (1.27MB) (11.64%)
    52.06ms
    1 x afterRenderComponent com_content (56.55KB) (10.37%)
    46.40ms
    1 x After Access::preloadPermissions (com_content) (3.2MB) (3.71%)
    16.61ms
    1 x afterRoute (897.2KB) (3.36%)
    15.05ms
    1 x Before Access::getAssetRules (id:8 name:com_content) (49.93KB) (2.22%)
    9.92ms
    1 x afterRender (195.84KB) (1.38%)
    6.16ms
    1 x afterRenderRawModule mod_languages (Sprogskift) (20.9KB) (1.13%)
    5.05ms
    1 x beforeRenderModule mod_articles_category (READ MORE...) (276.94KB) (0.99%)
    4.42ms
    1 x afterLoad (456.63KB) (0.9%)
    4.05ms
    1 x afterRenderRawModule mod_finder () (128.95KB) (0.81%)
    3.63ms
    1 x afterRenderRawModule mod_menu (Main Menu - English) (192.54KB) (0.73%)
    3.28ms
    1 x beforeRenderRawModule mod_custom () (6.62KB) (0.49%)
    2.21ms
    1 x afterRenderRawModule mod_menu (Main Menu - English) (6.52KB) (0.47%)
    2.10ms
    1 x afterDispatch (17.69KB) (0.47%)
    2.09ms
    1 x afterRenderModule mod_custom (the Vitamin and Mineral Guide) (1.28KB) (0.47%)
    2.08ms
    1 x afterRenderRawModule mod_languages (Sprogskift Mobil) (3.89KB) (0.43%)
    1.94ms
    1 x After Access::preloadComponents (all components) (97.34KB) (0.43%)
    1.91ms
    1 x afterRenderRawModule mod_finder () (6.09KB) (0.42%)
    1.90ms
    1 x afterRenderRawModule mod_custom (BOOST YOUR IMMUNE DEFENSE) (912B) (0.31%)
    1.39ms
    1 x beforeRenderRawModule mod_custom () (688B) (0.26%)
    1.15ms
    1 x afterRenderRawModule mod_custom () (22.3KB) (0.26%)
    1.14ms
    1 x beforeRenderRawModule mod_custom (BOOST YOUR IMMUNE DEFENSE) (6.45KB) (0.18%)
    796μs
    1 x beforeRenderComponent com_content (24.01KB) (0.17%)
    779μs
    1 x beforeRenderRawModule mod_articles_category (READ MORE...) (32.27KB) (0.12%)
    520μs
    1 x beforeRenderRawModule mod_menu (Main Menu - English) (22.53KB) (0.11%)
    486μs
    1 x Before Access::preloadComponents (all components) (33.23KB) (0.06%)
    279μs
    1 x afterRenderRawModule mod_custom (Search for more information...) (4.29KB) (0.06%)
    260μs
    1 x beforeRenderRawModule mod_custom () (8.66KB) (0.05%)
    203μs
    1 x afterRenderModule mod_custom (Search for more information...) (6.04KB) (0.04%)
    179μs
    1 x afterRenderRawModule mod_custom () (896B) (0.04%)
    167μs
    1 x afterRenderRawModule mod_custom () (944B) (0.04%)
    166μs
    1 x beforeRenderRawModule mod_menu (Main Menu - English) (5.07KB) (0.03%)
    131μs
    1 x beforeRenderModule mod_languages (Sprogskift) (720B) (0.03%)
    128μs
    1 x Before Access::getAssetRules (id:4154 name:com_content.article.2052) (130.65KB) (0.03%)
    122μs
    1 x afterRenderModule mod_articles_category (READ MORE...) (1.25KB) (0.02%)
    81μs
    1 x afterRenderModule mod_menu (Main Menu - English) (4.86KB) (0.02%)
    71μs
    1 x After Access::getAssetRules (id:4154 name:com_content.article.2052) (7.38KB) (0.01%)
    65μs
    1 x afterRenderModule mod_custom () (1.23KB) (0.01%)
    64μs
    1 x afterRenderModule mod_menu (Main Menu - English) (1.25KB) (0.01%)
    61μs
    1 x afterRenderModule mod_finder () (3.73KB) (0.01%)
    58μs
    1 x afterRenderRawModule mod_custom (Check this before you buy a Q10 product) (928B) (0.01%)
    46μs
    1 x afterRenderModule mod_finder () (3.29KB) (0.01%)
    43μs
    1 x After Access::getAssetRules (id:8 name:com_content) (6.17KB) (0.01%)
    38μs
    1 x afterRenderModule mod_languages (Sprogskift Mobil) (1.27KB) (0.01%)
    36μs
    1 x afterRenderModule mod_custom () (2.71KB) (0.01%)
    36μs
    1 x afterRenderModule mod_languages (Sprogskift) (5.31KB) (0.01%)
    33μs
    1 x afterRenderModule mod_custom () (2.43KB) (0.01%)
    28μs
    1 x beforeRenderRawModule mod_custom (Check this before you buy a Q10 product) (944B) (0.01%)
    27μs
    1 x beforeRenderRawModule mod_tags_popular (Search) (2.36KB) (0.01%)
    25μs
    1 x afterRenderModule mod_custom (BOOST YOUR IMMUNE DEFENSE) (1.28KB) (0.01%)
    25μs
    1 x Before Access::preloadPermissions (com_content) (1.6KB) (0.01%)
    24μs
    1 x afterRenderModule mod_tags_popular (Search) (2.52KB) (0.01%)
    23μs
    1 x afterRenderRawModule mod_custom (the Vitamin and Mineral Guide) (992B) (0%)
    22μs
    1 x beforeRenderRawModule mod_languages (Sprogskift) (3.94KB) (0%)
    22μs
    1 x beforeRenderRawModule mod_languages (Sprogskift Mobil) (912B) (0%)
    22μs
    1 x afterRenderModule mod_custom (Check this before you buy a Q10 product) (1.28KB) (0%)
    20μs
    1 x beforeRenderRawModule mod_finder () (6.34KB) (0%)
    17μs
    1 x beforeRenderModule mod_custom (BOOST YOUR IMMUNE DEFENSE) (6.81KB) (0%)
    15μs
    3 x beforeRenderModule mod_custom () (704B) (0%)
    15μs
    1 x beforeRenderModule mod_tags_popular (Search) (1.98KB) (0%)
    13μs
    2 x beforeRenderModule mod_finder () (704B) (0%)
    12μs
    2 x beforeRenderModule mod_menu (Main Menu - English) (720B) (0%)
    12μs
    1 x beforeRenderRawModule mod_finder () (2.3KB) (0%)
    12μs
    1 x beforeRenderRawModule mod_custom (the Vitamin and Mineral Guide) (736B) (0%)
    11μs
    1 x beforeRenderModule mod_custom (Check this before you buy a Q10 product) (1.31KB) (0%)
    11μs
    1 x beforeRenderModule mod_custom (the Vitamin and Mineral Guide) (352B) (0%)
    9μs
    1 x beforeRenderModule mod_custom (Search for more information...) (736B) (0%)
    5μs
    1 x beforeRenderModule mod_languages (Sprogskift Mobil) (720B) (0%)
    3μs
44 statements were executed, 9 of which were duplicates, 35 unique280ms1.14MB
  • SELECT @@SESSION.sql_mode;740μs968B/libraries/vendor/joomla/database/src/Mysqli/MysqliDriver.php:334Copy
  • SELECT `data` FROM `has_session` WHERE `session_id` = ?472μs1008BParams/libraries/vendor/joomla/session/src/Handler/DatabaseHandler.php:261Copy
  • SELECT `session_id` FROM `has_session` WHERE `session_id` = :session_id LIMIT 1147μs1.3KBParams/libraries/src/Session/MetadataManager.php:187Copy
  • INSERT INTO `has_session` (`session_id`,`guest`,`time`,`userid`,`username`,`client_id`) VALUES (:session_id, :guest, :time, :user_id, :username, :client_id)2.39ms944BParams/libraries/src/Session/MetadataManager.php:260Copy
  • SELECT `extension_id` AS `id`,`element` AS `option`,`params`,`enabled` FROM `has_extensions` WHERE `type` = 'component' AND `state` = 0 AND `enabled` = 1342μs1.61KB/libraries/src/Component/ComponentHelper.php:399Copy
  • SELECT `id`,`rules` FROM `has_viewlevels`421μs656B/libraries/src/Access/Access.php:955Copy
  • SELECT `b`.`id` FROM `has_usergroups` AS `a` LEFT JOIN `has_usergroups` AS `b` ON `b`.`lft` <= `a`.`lft` AND `b`.`rgt` >= `a`.`rgt` WHERE `a`.`id` = :guest456μs1.33KBParams/libraries/src/Access/Access.php:868Copy
  • SELECT `folder` AS `type`,`element` AS `name`,`params` AS `params`,`extension_id` AS `id` FROM `has_extensions` WHERE `enabled` = 1 AND `type` = 'plugin' AND `state` IN (0,1) AND `access` IN (:preparedArray1,:preparedArray2) ORDER BY `ordering`2.36ms3.98KBParams/libraries/src/Plugin/PluginHelper.php:294Copy
  • SELECT * FROM `has_languages` WHERE `published` = 1 ORDER BY `ordering` ASC225μs2.33KB/libraries/src/Language/LanguageHelper.php:142Copy
  • SELECT `element`,`name`,`client_id`,`extension_id` FROM `has_extensions` WHERE `type` = 'language' AND `state` = 0 AND `enabled` = 14.98ms1008B/libraries/src/Language/LanguageHelper.php:213Copy
  • SELECT * FROM has_rsform_config182μs1.06KB/administrator/components/com_rsform/helpers/config.php:52Copy
  • SELECT `m`.`id`,`m`.`menutype`,`m`.`title`,`m`.`alias`,`m`.`note`,`m`.`link`,`m`.`type`,`m`.`level`,`m`.`language`,`m`.`browserNav`,`m`.`access`,`m`.`params`,`m`.`home`,`m`.`img`,`m`.`template_style_id`,`m`.`component_id`,`m`.`parent_id`,`m`.`path` AS `route`,`e`.`element` AS `component` FROM `has_menu` AS `m` LEFT JOIN `has_extensions` AS `e` ON `m`.`component_id` = `e`.`extension_id` WHERE ( (`m`.`published` = 1 AND `m`.`parent_id` > 0 AND `m`.`client_id` = 0) AND (`m`.`publish_up` IS NULL OR `m`.`publish_up` <= :currentDate1)) AND (`m`.`publish_down` IS NULL OR `m`.`publish_down` >= :currentDate2) ORDER BY `m`.`lft`3.37ms165.8KBParams/libraries/src/Menu/SiteMenu.php:166Copy
  • 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 `has_categories` AS `s` INNER JOIN `has_categories` AS `c` ON (`s`.`lft` < `c`.`lft` AND `c`.`lft` < `s`.`rgt` AND `c`.`language` IN (:preparedArray1,:preparedArray2)) 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`496μs3.92KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT `id`,`home`,`template`,`s`.`params`,`inheritable`,`parent` FROM `has_template_styles` AS `s` LEFT JOIN `has_extensions` AS `e` ON `e`.`element` = `s`.`template` AND `e`.`type` = 'template' AND `e`.`client_id` = `s`.`client_id` WHERE `s`.`client_id` = 0 AND `e`.`enabled` = 1292μs848B/administrator/components/com_templates/src/Model/StyleModel.php:773Copy
  • SELECT `id`,`name`,`rules`,`parent_id` FROM `has_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,:preparedArray40)661μs7.44KBParams/libraries/src/Access/Access.php:357Copy
  • SELECT `id`,`name`,`rules`,`parent_id` FROM `has_assets` WHERE `name` LIKE :asset OR `name` = :extension OR `parent_id` = 07.67ms397.48KBParams/libraries/src/Access/Access.php:301Copy
  • SHOW FULL COLUMNS FROM `has_content`1.91ms3.02KB/libraries/vendor/joomla/database/src/Mysqli/MysqliDriver.php:625Copy
  • UPDATE `has_content` SET `hits` = (`hits` + 1) WHERE `id` = '2052'3.94ms48B/libraries/src/Table/Table.php:1325Copy
  • 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 `has_content` AS `a` INNER JOIN `has_categories` AS `c` ON `c`.`id` = `a`.`catid` LEFT JOIN `has_content_frontpage` AS `fp` ON `fp`.`content_id` = `a`.`id` LEFT JOIN `has_users` AS `u` ON `u`.`id` = `a`.`created_by` LEFT JOIN `has_categories` AS `parent` ON `parent`.`id` = `c`.`parent_id` LEFT JOIN `has_content_rating` AS `v` ON `a`.`id` = `v`.`content_id` WHERE ( (`a`.`id` = :pk AND `c`.`published` > 0 AND `a`.`language` IN (:preparedArray1,:preparedArray2)) 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 (:preparedArray3,:preparedArray4)2.24ms22.19KBParams/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 `has_categories` AS `s` INNER JOIN `has_categories` AS `c` ON (`s`.`lft` < `c`.`lft` AND `c`.`lft` < `s`.`rgt` AND `c`.`language` IN (:preparedArray3,:preparedArray4)) 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`1.53ms3.98KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT `m`.`tag_id`,`t`.* FROM `has_contentitem_tag_map` AS `m` INNER JOIN `has_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) AND `language` IN (:preparedArray3,:preparedArray4)4.42ms4.06KBParams/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 `has_categories` AS `s` INNER JOIN `has_categories` AS `c` ON (`s`.`lft` < `c`.`lft` AND `c`.`lft` < `s`.`rgt` AND `c`.`language` IN (:preparedArray3,:preparedArray4)) 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`611μs3.98KBParams/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 has_fields AS a LEFT JOIN `has_languages` AS l ON l.lang_code = a.language LEFT JOIN has_users AS uc ON uc.id=a.checked_out LEFT JOIN has_viewlevels AS ag ON ag.id = a.access LEFT JOIN has_users AS ua ON ua.id = a.created_user_id LEFT JOIN has_fields_groups AS g ON g.id = a.group_id LEFT JOIN `has_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 AND `a`.`language` IN (:preparedArray8,:preparedArray9) ORDER BY a.ordering ASC1.41ms4.81KBParams/libraries/src/MVC/Model/BaseDatabaseModel.php:166Copy
  • SELECT `alias` FROM `has_content` WHERE `id` = :id211μs1.31KBParams/components/com_content/src/Service/Router.php:168Copy
  • SELECT `alias` FROM `has_content` WHERE `id` = :id2.56ms1.31KBParams/components/com_content/src/Service/Router.php:168Copy
  • SELECT `m`.`id`,`m`.`title`,`m`.`module`,`m`.`position`,`m`.`content`,`m`.`showtitle`,`m`.`params`,`mm`.`menuid` FROM `has_modules` AS `m` LEFT JOIN `has_modules_menu` AS `mm` ON `mm`.`moduleid` = `m`.`id` LEFT JOIN `has_extensions` AS `e` ON `e`.`element` = `m`.`module` AND `e`.`client_id` = `m`.`client_id` WHERE ( ( (`m`.`published` = 1 AND `e`.`enabled` = 1 AND `m`.`client_id` = :clientId AND `m`.`access` IN (:preparedArray1,:preparedArray2)) AND (`m`.`publish_up` IS NULL OR `m`.`publish_up` <= :publishUp)) AND (`m`.`publish_down` IS NULL OR `m`.`publish_down` >= :publishDown)) AND (`mm`.`menuid` = :itemId OR `mm`.`menuid` <= 0) AND `m`.`language` IN (:preparedArray3,:preparedArray4) ORDER BY `m`.`position`,`m`.`ordering`8.58ms180.84KBParams/libraries/src/Cache/Controller/CallbackController.php:51Copy
  • SELECT `a`.`id`,`a`.`title`,`a`.`catid`,`a`.`language`, CASE WHEN CHAR_LENGTH(`a`.`alias`) != 0 THEN CONCAT_WS(':', `a`.`id`, `a`.`alias`) ELSE a.id END AS `slug`, CASE WHEN CHAR_LENGTH(`cc`.`alias`) != 0 THEN CONCAT_WS(':', `cc`.`id`, `cc`.`alias`) ELSE cc.id END AS `catslug` FROM `has_content` AS `a` LEFT JOIN `has_categories` AS `cc` ON `cc`.`id` = `a`.`catid` WHERE `a`.`catid` = :catid AND `a`.`state` = :state AND `a`.`access` IN (:preparedArray1,:preparedArray2) AND (`publish_up` IS NULL OR `publish_up` <= :nowDate1) AND (`publish_down` IS NULL OR `publish_down` >= :nowDate2) AND `a`.`language` IN (:preparedArray3,:preparedArray4) ORDER BY CASE WHEN `a`.`publish_up` IS NULL THEN `a`.`created` ELSE `a`.`publish_up` END DESC37.64ms161.75KBParams/plugins/content/pagenavigation/src/Extension/PageNavigation.php:188Copy
  • 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 `has_categories` AS `s` INNER JOIN `has_categories` AS `c` ON (`s`.`lft` < `c`.`lft` AND `c`.`lft` < `s`.`rgt` AND `c`.`language` IN (:preparedArray3,:preparedArray4)) 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`771μs3.98KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT custom_data FROM has_extensions WHERE element = 'yootheme' AND folder = 'system' LIMIT 1368μs536B/templates/yootheme/packages/platform-joomla/src/Storage.php:30Copy
  • SELECT `language`,`id` FROM `has_menu` WHERE `home` = '1' AND `published` = 1 AND `client_id` = 01.85ms704B/libraries/src/Language/Multilanguage.php:123Copy
  • SELECT `alias` FROM `has_content` WHERE `id` = :id699μs1.31KBParams/components/com_content/src/Service/Router.php:168Copy
  • SELECT `alias` FROM `has_content` WHERE `id` = :id288μs1.31KBParams/components/com_content/src/Service/Router.php:168Copy
  • SELECT `c2`.`language`,CONCAT_WS(':', `c2`.`id`, `c2`.`alias`) AS `id`,CONCAT_WS(':', `ca`.`id`, `ca`.`alias`) AS `catid` FROM `has_content` AS `c` INNER JOIN `has_associations` AS `a` ON `a`.`id` = `c`.`id` AND `a`.`context` = :context INNER JOIN `has_associations` AS `a2` ON `a`.`key` = `a2`.`key` INNER JOIN `has_content` AS `c2` ON `a2`.`id` = `c2`.`id` INNER JOIN `has_categories` AS `ca` ON `c2`.`catid` = `ca`.`id` AND `ca`.`extension` = :extension2 WHERE `c`.`id` = :id AND c2.access IN (1,5) AND c2.language != 'en-GB' AND (c2.publish_up IS NULL OR c2.publish_up <= '2025-02-23 03:03:52') AND (c2.publish_down IS NULL OR c2.publish_down >= '2025-02-23 03:03:52') AND c2.state = 1479μs3.97KBParams/libraries/src/Language/Associations.php:145Copy
  • SELECT `a`.`id`,`a`.`title`,`a`.`alias`,`a`.`introtext`,`a`.`fulltext`,`a`.`checked_out`,`a`.`checked_out_time`,`a`.`catid`,`a`.`created`,`a`.`created_by`,`a`.`created_by_alias`,`a`.`modified`,`a`.`modified_by`,CASE WHEN `a`.`publish_up` IS NULL THEN `a`.`created` ELSE `a`.`publish_up` END AS `publish_up`,`a`.`publish_down`,`a`.`images`,`a`.`urls`,`a`.`attribs`,`a`.`metadata`,`a`.`metakey`,`a`.`metadesc`,`a`.`access`,`a`.`hits`,`a`.`featured`,`a`.`language`,LENGTH(`a`.`fulltext`) AS `readmore`,`a`.`ordering`,`fp`.`featured_up`,`fp`.`featured_down`,CASE WHEN `c`.`published` = 2 AND `a`.`state` > 0 THEN 2 WHEN `c`.`published` != 1 THEN 0 ELSE `a`.`state` END AS `state`,`c`.`title` AS `category_title`,`c`.`path` AS `category_route`,`c`.`access` AS `category_access`,`c`.`alias` AS `category_alias`,`c`.`language` AS `category_language`,`c`.`published`,`c`.`published` AS `parents_published`,`c`.`lft`,CASE WHEN `a`.`created_by_alias` > ' ' THEN `a`.`created_by_alias` ELSE `ua`.`name` END AS `author`,`ua`.`email` AS `author_email`,`uam`.`name` AS `modified_by_name`,`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`,COALESCE(NULLIF(ROUND(`v`.`rating_sum` / `v`.`rating_count`, 1), 0), 0) AS `rating`,COALESCE(NULLIF(`v`.`rating_count`, 0), 0) AS `rating_count` FROM `has_content` AS `a` LEFT JOIN `has_categories` AS `c` ON `c`.`id` = `a`.`catid` LEFT JOIN `has_users` AS `ua` ON `ua`.`id` = `a`.`created_by` LEFT JOIN `has_users` AS `uam` ON `uam`.`id` = `a`.`modified_by` LEFT JOIN `has_categories` AS `parent` ON `parent`.`id` = `c`.`parent_id` LEFT JOIN `has_content_frontpage` AS `fp` ON `fp`.`content_id` = `a`.`id` LEFT JOIN `has_content_rating` AS `v` ON `a`.`id` = `v`.`content_id` WHERE `a`.`access` IN (:preparedArray1,:preparedArray2) AND `c`.`access` IN (:preparedArray3,:preparedArray4) AND `c`.`published` = 1 AND `a`.`state` = :condition AND (`a`.`publish_up` IS NULL OR `a`.`publish_up` <= :publishUp) AND (`a`.`publish_down` IS NULL OR `a`.`publish_down` >= :publishDown) AND `a`.`language` IN (:preparedArray5,:preparedArray6) ORDER BY RAND() ASC LIMIT 1087.94ms159.16KBParams/libraries/src/MVC/Model/BaseDatabaseModel.php:166Copy
  • SELECT MAX(`tag_id`) AS `tag_id`,COUNT(*) AS `count`,MAX(`t`.`title`) AS `title`,MAX(`t`.`access`) AS `access`,MAX(`t`.`alias`) AS `alias`,MAX(`t`.`params`) AS `params`,MAX(`t`.`language`) AS `language` FROM `has_contentitem_tag_map` AS `m` INNER JOIN `has_ucm_content` AS `ucm` ON `m`.`content_item_id` = `ucm`.`core_content_item_id` AND `m`.`type_id` = `ucm`.`core_type_id` INNER JOIN `has_categories` AS `cat` ON `ucm`.`core_catid` = `cat`.`id` INNER JOIN `has_tags` AS `t` ON `tag_id` = `t`.`id` INNER JOIN `has_ucm_content` AS `c` ON `m`.`core_content_id` = `c`.`core_content_id` WHERE `t`.`access` IN (:preparedArray1,:preparedArray2) AND `t`.`published` = 1 AND `cat`.`published` > 0 AND `t`.`language` IN (:preparedArray3,:preparedArray4) AND `m`.`type_alias` = `c`.`core_type_alias` AND `c`.`core_state` = 1 AND (`c`.`core_access` IN (:preparedArray5,:preparedArray6) OR `c`.`core_access` = 0) AND (`c`.`core_publish_up` IS NULL OR `c`.`core_publish_up` = :nullDate2 OR `c`.`core_publish_up` <= :nowDate2) AND (`c`.`core_publish_down` IS NULL OR `c`.`core_publish_down` = :nullDate3 OR `c`.`core_publish_down` >= :nowDate3) GROUP BY `tag_id`,`t`.`title`,`t`.`access`,`t`.`alias` ORDER BY RAND() LIMIT 1591.64ms2.75KBParams/modules/mod_tags_popular/src/Helper/TagsPopularHelper.php:183Copy
  • SELECT `c2`.`language`,`c2`.`id` FROM `has_menu` AS `c` INNER JOIN `has_associations` AS `a` ON `a`.`id` = `c`.`id` AND `a`.`context` = :context INNER JOIN `has_associations` AS `a2` ON `a`.`key` = `a2`.`key` INNER JOIN `has_menu` AS `c2` ON `a2`.`id` = `c2`.`id` WHERE `c`.`id` = :id1.23ms1.44KBParams/libraries/src/Language/Associations.php:145Copy
  • SELECT `name`,`element` FROM `has_extensions` WHERE `type` = 'plugin' AND `folder` = 'finder' AND `enabled` = 1326μs640B/administrator/components/com_finder/src/Helper/LanguageHelper.php:135Copy
  • SELECT `title` FROM `has_finder_taxonomy` WHERE `parent_id` = 1 AND `state` = 1 AND `access` IN (1,5)183μs584B/administrator/components/com_finder/src/Indexer/Taxonomy.php:314Copy
  • 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 has_fields AS a LEFT JOIN `has_languages` AS l ON l.lang_code = a.language LEFT JOIN has_users AS uc ON uc.id=a.checked_out LEFT JOIN has_viewlevels AS ag ON ag.id = a.access LEFT JOIN has_users AS ua ON ua.id = a.created_user_id LEFT JOIN has_fields_groups AS g ON g.id = a.group_id WHERE ( (`a`.`context` = :context AND `a`.`access` IN (:preparedArray1,:preparedArray2)) AND (`a`.`group_id` = 0 OR `g`.`access` IN (:preparedArray3,:preparedArray4)) AND `a`.`state` = :state) AND (`a`.`group_id` = 0 OR `g`.`state` = :gstate) AND `a`.`only_use_in_subform` = :only_use_in_subform AND `a`.`language` IN (:preparedArray5,:preparedArray6) ORDER BY a.ordering ASC406μs4.75KBParams/libraries/src/MVC/Model/BaseDatabaseModel.php:166Copy
  • SELECT `title` FROM `has_finder_taxonomy` WHERE `parent_id` = 1 AND `state` = 1 AND `access` IN (1,5)203μs584B/administrator/components/com_finder/src/Indexer/Taxonomy.php:314Copy
  • 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 `has_scheduler_tasks` AS `a` WHERE `a`.`state` = 1193μs1.37KBParams/administrator/components/com_scheduler/src/Model/TasksModel.php:466Copy
  • 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 `has_categories` AS `s` INNER JOIN `has_categories` AS `c` ON (`s`.`lft` < `c`.`lft` AND `c`.`lft` < `s`.`rgt` AND `c`.`language` IN (:preparedArray3,:preparedArray4)) 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`531μs4KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT `session_id` FROM `has_session` WHERE `session_id` = ?116μs1KBParams/libraries/vendor/joomla/session/src/Handler/DatabaseHandler.php:291Copy
  • UPDATE `has_session` SET `data` = ? , `time` = ? WHERE `session_id` = ?2.97ms592BParams/libraries/vendor/joomla/session/src/Handler/DatabaseHandler.php:318Copy