Here are some tips on what to consider when buying your own weapons set (bokken, jo & tanto). For our regular classes we have enough weapons at the dojo, so it is up to you whether you want to purchase your own set.

Wooden weapons come in a very wide variety of models and materials, and there are very different opinions on the "right" choice. We limit our tips to well-established choices.

BOKKEN (wooden sword, also called BOKUTO)

  • The bokken which are common in Aikido have a length of about 102 cm. The handle (tsuka) should be about 27 cm long, in no case shorter than 25 cm, because then the bokken is not well balanced and not suitable for large hands.
  • The weight should be between 500 - 700 g; heavier bokken are not recommended for partner exercises (kumitachi).
  • Red oak and white oak are the usual woods; white oak is somewhat more durable, denser and heavier. Beech wood is also popular because it is more resistant to breakage and does not splinter. There are a number of other types of wood, some of which are much harder and more resistant to moisture, but these also have a much higher price tag. Very important: Please make sure that the wood is untreated, it can be oiled, but never varnished!
  • The bokken must have a continuous smooth surface, without carvings or other decorations. Only the transition from blade to handle is usually slightly highlighted.
  • There are models with pointed or flattened ends ("Iwama Ryu" style). At our dojo, the choice is a matter of personal taste.
  • A hand guard (tsuba) is usually included, but is not used in aikido – nor is a sword sheath (saya).
  • Entry-level models start at about 20 EUR, but with models between 40 - 50 EUR you will surely make a better choice. More expensive models are usually made of hand-selected wood with even grain and high form stability.
  • Please make sure that the supplier gives you exact information about material, surface treatment, length of the handle (tsuka) and weight.

JO (wooden stick)

  • The jo should be about 128 cm long and have a diameter of about 22 - 25 mm. Smaller people can also choose a shorter model: The standard measurement is "floor to armpit".
  • The weight should be between 500 - 700 g; heavier jos are not recommended for partner exercises (kumijo).
  • Red oak and white oak are the usual woods; white oak is somewhat more durable, denser and heavier. Beech wood is also popular because it is more resistant to breakage and does not splinter. Rattan also has good properties and is probably the most ecologically neutral type of wood. There are a number of other types of wood, some of which are much harder and more resistant to moisture, but these also have a much higher price tag. Very important: Please make sure that the wood is untreated, it can be oiled, but never varnished!
  • A good jo is straight and has a very smooth surface, without cracks and scars, as it slides a lot through your fingers.
  • Entry-level models start at about 20 EUR, but with models between 40 - 50 EUR you will surely make a better choice. With even more expensive models, the weapons are usually made of hand-selected wood with even grain and high form stability.
  • Please make sure that the supplier gives exact information about material, surface treatment, length, diameter and weight.

TANTO (wooden knife)

  • A tanto is usually about 28 cm long.
  • The choice of material is purely a matter of taste. In case of doubt, simply use the same material as for the bokken.
  • Tantos are available from about 10 EUR.
  • Here you can hardly do anything wrong with your purchase.

We recommend that you treat the weapons with a fine sandpaper right after the purchase, so that they get a silky touch. Especially the jo should glide smoothly through your fingers. After sanding, use a good wood oil or (carnauba) wax, so that the wood is better protected against moisture.

Be sure to mark the weapons immediately after purchase! At seminars, nothing is swapped as quickly as a bokken or jo. Mark the flat ends with a lacquer or marker pen or carve them (oval tips of the bokken/tanto, round tips of the jo).

Weapon bags are available at most budo shops. A good alternative is a stable fishing rod transport tube (with inside padding). This protects the weapons better and can even be checked in as bulky luggage – with some fishing stickers on the tube customs won't ask what you are carrying ;-)

Aikido Oberursel
CONNECT ∙ EXCHANGE ∙ DEVELOP
Internationally educated instructors. Personal supervision. Free trial lesson. — Only 20 mins from Frankfurt.
6.877MBMemory Usage387msRequest Duration
Joomla! Version5.2.5
PHP Version8.3.19
Identityguest
Response200
Templateg5_hydrogen
Database
Server
mysql
Version
10.11.5-MariaDB-1:10.11.5+maria~ubu1804
Collation
utf8mb4_unicode_ci
Conn Collation
utf8mb4_general_ci
$_GET
[]
$_POST
[]
$_SESSION
array:1 [ "joomla" => "***redacted***" ]
$_COOKIE
[]
$_SERVER
array:61 [ "USER" => "superklaus" "HOME" => "/var/www/vhosts/messlinger.com" "SCRIPT_NAME" => ...
session
array:3 [ "counter" => 1 "timer" => array:3 [ "start" => 1743195250 "last" => 1743195250...
registry
array:3 [ "data" => [] "initialized" => false "separator" => "." ]
user
array:21 [ "id" => 0 "name" => null "username" => null "email" => null "password" => "***r...
plg_system_languagefilter
array:1 [ "language" => "en-GB" ]
  • afterLoad (88.3KB) (7.93ms)
  • afterInitialise (1.75MB) (48.05ms)
  • afterRoute (1.14MB) (38.06ms)
  • beforeRenderComponent com_content (28.23KB) (938μs)
  • Before Access::preloadComponents (all components) (49.05KB) (5.05ms)
  • After Access::preloadComponents (all components) (125.53KB) (487μs)
  • Before Access::preloadPermissions (com_content) (1.66KB) (11μs)
  • After Access::preloadPermissions (com_content) (544.26KB) (943μs)
  • Before Access::getAssetRules (id:1689 name:com_content.article.2160) (18.65KB) (32μs)
  • After Access::getAssetRules (id:1689 name:com_content.article.2160) (8.18KB) (226μs)
  • Before Access::getAssetRules (id:1 name:root.1) (181.94KB) (8.3ms)
  • After Access::getAssetRules (id:1 name:root.1) (6.48KB) (25μs)
  • afterRenderComponent com_content (324.63KB) (18.01ms)
  • Before Access::getAssetRules (id:8 name:com_content) (331.16KB) (7.3ms)
  • After Access::getAssetRules (id:8 name:com_content) (7.1KB) (35μs)
  • afterDispatch (8.05KB) (1.05ms)
  • beforeRenderRawModule mod_custom (Header) (347.24KB) (32.45ms)
  • afterRenderRawModule mod_custom (Header) (5.26KB) (1.5ms)
  • beforeRenderModule mod_custom (Header) (704B) (5μs)
  • afterRenderModule mod_custom (Header) (12.98KB) (2.26ms)
  • beforeRenderRawModule mod_languages (Language Switcher) (919.11KB) (11.16ms)
  • afterRenderRawModule mod_languages (Language Switcher) (9.19KB) (1.68ms)
  • beforeRenderModule mod_languages (Language Switcher) (704B) (5μs)
  • afterRenderModule mod_languages (Language Switcher) (2.5KB) (231μs)
  • beforeRenderRawModule mod_custom (Footer Banner EN) (11.04KB) (1.98ms)
  • afterRenderRawModule mod_custom (Footer Banner EN) (912B) (289μs)
  • beforeRenderModule mod_custom (Footer Banner EN) (720B) (4μs)
  • afterRenderModule mod_custom (Footer Banner EN) (2.5KB) (223μs)
  • beforeRenderRawModule mod_custom (Footer EN) (1.11KB) (134μs)
  • afterRenderRawModule mod_custom (Footer EN) (784B) (218μs)
  • beforeRenderModule mod_custom (Footer EN) (720B) (4μs)
  • afterRenderModule mod_custom (Footer EN) (6.34KB) (1.02ms)
  • afterRender (370.99KB) (196ms)
  • 1 x afterRender (370.99KB) (50.82%)
    196ms
    1 x afterInitialise (1.75MB) (12.43%)
    48.05ms
    1 x afterRoute (1.14MB) (9.84%)
    38.06ms
    1 x beforeRenderRawModule mod_custom (Header) (347.24KB) (8.39%)
    32.45ms
    1 x afterRenderComponent com_content (324.63KB) (4.66%)
    18.01ms
    1 x beforeRenderRawModule mod_languages (Language Switcher) (919.11KB) (2.89%)
    11.16ms
    1 x Before Access::getAssetRules (id:1 name:root.1) (181.94KB) (2.15%)
    8.30ms
    1 x afterLoad (88.3KB) (2.05%)
    7.93ms
    1 x Before Access::getAssetRules (id:8 name:com_content) (331.16KB) (1.89%)
    7.30ms
    1 x Before Access::preloadComponents (all components) (49.05KB) (1.31%)
    5.05ms
    1 x afterRenderModule mod_custom (Header) (12.98KB) (0.59%)
    2.26ms
    1 x beforeRenderRawModule mod_custom (Footer Banner EN) (11.04KB) (0.51%)
    1.98ms
    1 x afterRenderRawModule mod_languages (Language Switcher) (9.19KB) (0.44%)
    1.68ms
    1 x afterRenderRawModule mod_custom (Header) (5.26KB) (0.39%)
    1.50ms
    1 x afterDispatch (8.05KB) (0.27%)
    1.05ms
    1 x afterRenderModule mod_custom (Footer EN) (6.34KB) (0.26%)
    1.02ms
    1 x After Access::preloadPermissions (com_content) (544.26KB) (0.24%)
    943μs
    1 x beforeRenderComponent com_content (28.23KB) (0.24%)
    938μs
    1 x After Access::preloadComponents (all components) (125.53KB) (0.13%)
    487μs
    1 x afterRenderRawModule mod_custom (Footer Banner EN) (912B) (0.07%)
    289μs
    1 x afterRenderModule mod_languages (Language Switcher) (2.5KB) (0.06%)
    231μs
    1 x After Access::getAssetRules (id:1689 name:com_content.article.2160) (8.18KB) (0.06%)
    226μs
    1 x afterRenderModule mod_custom (Footer Banner EN) (2.5KB) (0.06%)
    223μs
    1 x afterRenderRawModule mod_custom (Footer EN) (784B) (0.06%)
    218μs
    1 x beforeRenderRawModule mod_custom (Footer EN) (1.11KB) (0.03%)
    134μs
    1 x After Access::getAssetRules (id:8 name:com_content) (7.1KB) (0.01%)
    35μs
    1 x Before Access::getAssetRules (id:1689 name:com_content.article.2160) (18.65KB) (0.01%)
    32μs
    1 x After Access::getAssetRules (id:1 name:root.1) (6.48KB) (0.01%)
    25μs
    1 x Before Access::preloadPermissions (com_content) (1.66KB) (0%)
    11μs
    1 x beforeRenderModule mod_custom (Header) (704B) (0%)
    5μs
    1 x beforeRenderModule mod_languages (Language Switcher) (704B) (0%)
    5μs
    1 x beforeRenderModule mod_custom (Footer EN) (720B) (0%)
    4μs
    1 x beforeRenderModule mod_custom (Footer Banner EN) (720B) (0%)
    4μs
38 statements were executed, 8 of which were duplicates, 30 unique346ms359.72KB
  • SELECT @@SESSION.sql_mode;63μs968B/libraries/vendor/joomla/database/src/Mysqli/MysqliDriver.php:308Copy
  • SELECT `data` FROM `ado_session` WHERE `session_id` = ?152μs1008BParams/libraries/vendor/joomla/session/src/Handler/DatabaseHandler.php:250Copy
  • SELECT `session_id` FROM `ado_session` WHERE `session_id` = :session_id LIMIT 164μs1.3KBParams/libraries/src/Session/MetadataManager.php:187Copy
  • INSERT INTO `ado_session` (`session_id`,`guest`,`time`,`userid`,`username`,`client_id`) VALUES (:session_id, :guest, :time, :user_id, :username, :client_id)177μs944BParams/libraries/src/Session/MetadataManager.php:260Copy
  • SELECT `extension_id` AS `id`,`element` AS `option`,`params`,`enabled` FROM `ado_extensions` WHERE `type` = 'component' AND `state` = 0 AND `enabled` = 147μs17.73KB/libraries/src/Component/ComponentHelper.php:399Copy
  • SELECT `id`,`rules` FROM `ado_viewlevels`24μs704B/libraries/src/Access/Access.php:955Copy
  • SELECT `b`.`id` FROM `ado_usergroups` AS `a` LEFT JOIN `ado_usergroups` AS `b` ON `b`.`lft` <= `a`.`lft` AND `b`.`rgt` >= `a`.`rgt` WHERE `a`.`id` = :guest26μs1.33KBParams/libraries/src/Access/Access.php:868Copy
  • SELECT `folder` AS `type`,`element` AS `name`,`params` AS `params`,`extension_id` AS `id` FROM `ado_extensions` WHERE `enabled` = 1 AND `type` = 'plugin' AND `state` IN (0,1) AND `access` IN (:preparedArray1,:preparedArray2) ORDER BY `ordering`61μs36.48KBParams/libraries/src/Plugin/PluginHelper.php:294Copy
  • SELECT * FROM `ado_languages` WHERE `published` = 1 ORDER BY `ordering` ASC67μs2.23KB/libraries/src/Language/LanguageHelper.php:177Copy
  • SELECT `element`,`name`,`client_id`,`extension_id` FROM `ado_extensions` WHERE `type` = 'language' AND `state` = 0 AND `enabled` = 144μs784B/libraries/src/Language/LanguageHelper.php:250Copy
  • 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 `ado_menu` AS `m` LEFT JOIN `ado_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`1.22ms166.3KBParams/libraries/src/Menu/SiteMenu.php:166Copy
  • SELECT `id`,`home`,`template`,`s`.`params`,`inheritable`,`parent` FROM `ado_template_styles` AS `s` LEFT JOIN `ado_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` = 153μs976B/administrator/components/com_templates/src/Model/StyleModel.php:775Copy
  • SELECT s.id, s.template, s.home, s.title AS long_title, s.params FROM ado_template_styles AS s WHERE s.client_id = 0 AND s.template = 'g5_hydrogen' ORDER BY s.id90μs880B/libraries/gantry5/src/classes/Gantry/Joomla/StyleHelper.php:69Copy
  • SELECT `id`,`name`,`rules`,`parent_id` FROM `ado_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,:preparedArray41,:preparedArray42,:preparedArray43,:preparedArray44)95μs7.81KBParams/libraries/src/Access/Access.php:357Copy
  • SELECT `id`,`name`,`rules`,`parent_id` FROM `ado_assets` WHERE `name` LIKE :asset OR `name` = :extension OR `parent_id` = 0110μs49.48KBParams/libraries/src/Access/Access.php:301Copy
  • 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 `ado_content` AS `a` INNER JOIN `ado_categories` AS `c` ON `c`.`id` = `a`.`catid` LEFT JOIN `ado_content_frontpage` AS `fp` ON `fp`.`content_id` = `a`.`id` LEFT JOIN `ado_users` AS `u` ON `u`.`id` = `a`.`created_by` LEFT JOIN `ado_categories` AS `parent` ON `parent`.`id` = `c`.`parent_id` LEFT JOIN `ado_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)342μs22.23KBParams/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 `ado_categories` AS `s` INNER JOIN `ado_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`73μs5.23KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT `m`.`tag_id`,`t`.* FROM `ado_contentitem_tag_map` AS `m` INNER JOIN `ado_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)63μs3.97KBParams/libraries/src/Helper/TagsHelper.php:388Copy
  • SHOW FULL COLUMNS FROM `ado_users`440μs1.58KB/libraries/vendor/joomla/database/src/Mysqli/MysqliDriver.php:587Copy
  • SELECT * FROM `ado_users` WHERE `id` = :userid49μs3.16KBParams/libraries/src/Table/User.php:106Copy
  • SELECT `g`.`id`,`g`.`title` FROM `ado_usergroups` AS `g` INNER JOIN `ado_user_usergroup_map` AS `m` ON `m`.`group_id` = `g`.`id` WHERE `m`.`user_id` = :muserid70μs1.45KBParams/libraries/src/Table/User.php:134Copy
  • SELECT * FROM `ado_users` WHERE `id` = :userid42μs3.16KBParams/libraries/src/Table/User.php:106Copy
  • SELECT `g`.`id`,`g`.`title` FROM `ado_usergroups` AS `g` INNER JOIN `ado_user_usergroup_map` AS `m` ON `m`.`group_id` = `g`.`id` WHERE `m`.`user_id` = :muserid27μs1.45KBParams/libraries/src/Table/User.php:134Copy
  • SELECT `b`.`id` FROM `ado_user_usergroup_map` AS `map` LEFT JOIN `ado_usergroups` AS `a` ON `a`.`id` = `map`.`group_id` LEFT JOIN `ado_usergroups` AS `b` ON `b`.`lft` <= `a`.`lft` AND `b`.`rgt` >= `a`.`rgt` WHERE `map`.`user_id` = :userId28μs1.61KBParams/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 `ado_categories` AS `s` INNER JOIN `ado_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`109μ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 ado_fields AS a LEFT JOIN `ado_languages` AS l ON l.lang_code = a.language LEFT JOIN ado_users AS uc ON uc.id=a.checked_out LEFT JOIN ado_viewlevels AS ag ON ag.id = a.access LEFT JOIN ado_users AS ua ON ua.id = a.created_user_id LEFT JOIN ado_fields_groups AS g ON g.id = a.group_id LEFT JOIN `ado_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 ASC98μs4.81KBParams/libraries/src/MVC/Model/BaseDatabaseModel.php:164Copy
  • SELECT `language`,`id` FROM `ado_menu` WHERE `home` = '1' AND `published` = 1 AND `client_id` = 053μs624B/libraries/src/Language/Multilanguage.php:123Copy
  • SELECT `c2`.`language`,`c2`.`id` FROM `ado_menu` AS `c` INNER JOIN `ado_associations` AS `a` ON `a`.`id` = `c`.`id` AND `a`.`context` = :context INNER JOIN `ado_associations` AS `a2` ON `a`.`key` = `a2`.`key` INNER JOIN `ado_menu` AS `c2` ON `a2`.`id` = `c2`.`id` WHERE `c`.`id` = :id91μs1.41KBParams/libraries/src/Language/Associations.php:145Copy
  • SELECT `c2`.`language`,CONCAT_WS(':', `c2`.`id`, `c2`.`alias`) AS `id`,CONCAT_WS(':', `ca`.`id`, `ca`.`alias`) AS `catid` FROM `ado_content` AS `c` INNER JOIN `ado_associations` AS `a` ON `a`.`id` = `c`.`id` AND `a`.`context` = :context INNER JOIN `ado_associations` AS `a2` ON `a`.`key` = `a2`.`key` INNER JOIN `ado_content` AS `c2` ON `a2`.`id` = `c2`.`id` INNER JOIN `ado_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-03-28 20:54:10') AND (c2.publish_down IS NULL OR c2.publish_down >= '2025-03-28 20:54:10') AND c2.state = 1559μs1.48KBParams/libraries/src/Language/Associations.php:145Copy
  • SELECT `m`.`id`,`m`.`title`,`m`.`module`,`m`.`position`,`m`.`content`,`m`.`showtitle`,`m`.`params`,`mm`.`menuid` FROM `ado_modules` AS `m` LEFT JOIN `ado_modules_menu` AS `mm` ON `mm`.`moduleid` = `m`.`id` LEFT JOIN `ado_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`643μs1.97KBParams/libraries/src/Cache/Controller/CallbackController.php:51Copy
  • SELECT `a`.`menutype`,`a`.`title` FROM `ado_menu_types` AS `a` WHERE `a`.`client_id` = 033μs656B/libraries/gantry5/src/classes/Gantry/Framework/Menu.php:138Copy
  • SELECT m.id, m.alias, m.path AS route, m.level, m.parent_id FROM ado_menu AS m WHERE m.menutype = 'de-main-menu' AND m.parent_id > 0 AND m.client_id = 0 AND m.published >= 0 ORDER BY m.lft47μs1.61KB/libraries/gantry5/src/classes/Gantry/Framework/Menu.php:791Copy
  • SELECT m.id, m.alias, m.path AS route, m.level, m.parent_id FROM ado_menu AS m WHERE m.menutype = 'en-main-menu' AND m.parent_id > 0 AND m.client_id = 0 AND m.published >= 0 ORDER BY m.lft45μs4.11KB/libraries/gantry5/src/classes/Gantry/Framework/Menu.php:791Copy
  • SELECT `m`.`id`,`m`.`title`,`m`.`module`,`m`.`position`,`m`.`content`,`m`.`showtitle`,`m`.`params`,`mm`.`menuid` FROM `ado_modules` AS `m` LEFT JOIN `ado_modules_menu` AS `mm` ON `mm`.`moduleid` = `m`.`id` LEFT JOIN `ado_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`83μs1.97KBParams/libraries/src/Cache/Controller/CallbackController.php:51Copy
  • SELECT * FROM `ado_schemaorg` WHERE `itemId` = :itemId AND `context` = :context92μs1.55KBParams/plugins/system/schemaorg/src/Extension/Schemaorg.php:403Copy
  • 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 `ado_scheduler_tasks` AS `a` WHERE `a`.`state` = 187μs1.37KBParams/administrator/components/com_scheduler/src/Model/TasksModel.php:517Copy
  • SELECT `session_id` FROM `ado_session` WHERE `session_id` = ?189μs1KBParams/libraries/vendor/joomla/session/src/Handler/DatabaseHandler.php:277Copy
  • UPDATE `ado_session` SET `data` = ? , `time` = ? WHERE `session_id` = ?341ms592BParams/libraries/vendor/joomla/session/src/Handler/DatabaseHandler.php:301Copy