Skip to main content

What would you say if I told you no kitchen is small? You would say, “Come on over, Colleen, and I’ll show you my kitchen!” Believe me, I worked in some tight spaces. The secret… Efficiency and high functionality. That’s what is required to turn any small room into a large feeling space. Understanding how you function in your home and laying out your storage to maximize your efficiency is key. I recently completed a kitchen that began at 114 sq ft; very long and very narrow. The bonus was the high ceiling, but the original kitchen only incorporated the typical 36” high wall cabinets, not maximizing the storage capability of the room. To boot, this condo was set up with a dining area in the kitchen as well as in the great room, doubling the dining experience but crippling the kitchen’s ability to hold the essentials needed to perform simple culinary tasks, especially with two cooks! Let me walk you through how this three-drawer kitchen was converted into a space now housing 28 drawers, multiple pullout storage cabinets and more! Take note as well, large kitchens often function small as well. These tips are for all homeowners who want to make the most of any space.

My first task is to always have a conversation with my clients. I find it is the most important part of the journey. I ask questions about how they prepare food, how many chefs are in the kitchen at once, how they entertain and more. My next step is to look into every cabinet and drawer.

You wouldn’t believe it, but a review of the kitchen sometimes tells me more than the clients do! Once I have all my measurements and the client’s information collected, I am off to the drawing board. It’s a labor of love, and boy do I love finding hidden space! I’m a miser when it comes to wasting this precious commodity. Now don’t get me wrong, open space is active space too. Depending on where it is placed, it is actually more important than using another cabinet!

In this particular kitchen, the biggest hurdle I had to overcome was the width of the room. The current kitchen only had 39” of space between each countertop. You might think adding an inch or two is insignificant, but in a kitchen, it’s another lane on the highway! The overall plan was to “go up” to maximize storage and somehow “go out” without taking down a wall. The up was easy. The out was accomplished by closing off the rear entrance to the kitchen and moving it to the other side of the room. But wait, you say, that didn’t add to the width of the room? But in an essence, it did. You see, now that we're entering the kitchen from the open area of the great room, it visually expanded the space without the added cost of tearing down the wall I needed for cabinetry. And… in utilizing my custom hand-cabinets, I also designed 23” deep base cabinets along this wall to offer more space for mobility without compromising on the drawer depth and storage capabilities.

Now you will note, I did take down the wall between the dining room and kitchen. By bringing a peninsula into the dining space, it offers an area for casual dining or hanging with friends while cooking. By keeping all the dining space in one area, I was also able to increase the efficiency of the kitchen for cooking. 

One of my big sayings for base cabinets is “Drawers over Doors.” Yes, they cost a bit more but the amount of storage gained is equivalent to doubling your kitchen. Think about it, you open a base cabinet door and you have a big empty cavern with a small 12” deep shelf that you can’t even see unless you bend way down to find what has been lost for months. Drawers, on the other hand, pull all your contents out to you. Full extension glides assure you of full access to all things within, while guaranteeing full use of the ENTIRE cabinet! 

Another essential is to choreograph the movement of each cabinet to maximize the mobility from one countertop to another. Right from the entry, the kitchen feels expansive. Part of that is because of the open space, which I talked about earlier. To the right of the entry, I purposely pushed the wall cabinet down 12” to retain the site line into the back of the kitchen, contributing to a sense of spaciousness. As you move into the kitchen where the built-in refrigerator is a bit deeper than the countertop, the opposing side of the room steps back, maintaining an equal distance for movement throughout. 

Your choice of appliances is one not to be taken lightly. They’re all expensive, some more than others, but each has its own contribution to make to your kitchen beyond just its essential task. For instance, the refrigerator is one appliance which comes in many depths. If you have a narrow kitchen, seriously considering a true counter depth option (Max 26” deep including doors) could salvage as much as 10” of floor space! And, I know we all would love a 36” wide range but do you really need it? This kitchen performs like a professional kitchen with its new 30” convection oven suited with a full gas range atop. It even came with a griddle for frying hamburgers inside on rainy days or pancakes when the house is full of breakfast guests. And no, the cost didn’t break the bank! And don’t worry, the powerful 600 CFM rangehood is ready to use with one slight tug of the overhead drawer. Its compact design maintains that open space while its curved, handcrafted wooden front, mimics the range and cabinet pulls, unifying the entire kitchen visually. The compact drawer microwave keeps the countertops and space above the range free while extending a full gamut of cooking options at the wave of a hand. Be careful, however, always ensure that all your appliances are free to open fully without encumbering one another. 

Now, notice the natural wood elements in this kitchen; open shelving, range hood, butcher block, bench seat and open wine storage. They flow throughout the space and move your eye from one area to another, expanding the room subliminally. The open shelves were a product of the client over-stuffing her countertops with easy to reach items. I simply put more counterspace within reach above. The range hood carries the eye to the butcher block, creating a natural chopping space while the bench draws you in and around to the wine cabinet neatly tucked into the corner. 

Among all that is going on below, the new wall cabinets have taken on a significant amount of storage to say the least. Knowing how my clients cooked directed my attention to how I should plan to store their items for highest efficiency. Even their bar was incorporated into the kitchen next to the wine. When guests arrive, a quick pull of the cabinet opens to their vast selection of spirits with an available pull-out shelf below for making even the sharpest mixologists jealous of the smartly used space. A mix of pull-up cabinet doors ensures wide access to cooking supplies and dishes while maintaining an airy feel about the room. 

And let’s not forget all those large countertop appliances that are great to have but not used on a regular basis. When I first reviewed this project, the homeowners had much of their kitchen scattered throughout the house. Now, the large pullout cabinets above the refrigerator allow for the majority of these small appliances to be ready as needed. 

 

Can you believe this was the BEFORE?!

You see, a small kitchen CAN function large and a large kitchen can always be more efficient and functional. It’s all in the proper use of space and a matter of understanding how the users employ their skills and techniques in preparing food. When planning your next kitchen renovation, try interviewing yourself first and be honest about what is truly important to you. If you get stuck…give me a call!

7.994MBMemory Usage134msRequest Duration
Joomla! Version4.4.13
PHP Version8.3.23
Identityguest
Response200
Templateyootheme
Database
Server
mysql
Version
8.4.6
Collation
utf8mb3_unicode_ci
Conn Collation
utf8mb4_0900_ai_ci
$_GET
array:4 [ "view" => "article" "id" => "280:the-tiny-kitchen-redo" "catid" => "9" "highlight"...
$_POST
[]
$_SESSION
array:1 [ "joomla" => "***redacted***" ]
$_COOKIE
[]
$_SERVER
array:58 [ "USER" => "fivetowers" "HOME" => "/home/fivetowers" "SCRIPT_NAME" => "/index.php" ...
session
array:3 [ "counter" => 1 "timer" => array:3 [ "start" => 1753470132 "last" => 1753470132...
registry
array:3 [ "data" => [] "initialized" => false "separator" => "." ]
user
array:18 [ "id" => 0 "name" => null "username" => null "email" => null "password" => "***r...
  • afterLoad (444.73KB) (2.11ms)
  • afterInitialise (1.96MB) (27.89ms)
  • afterRoute (375.48KB) (6.63ms)
  • beforeRenderComponent com_content (49.04KB) (987μs)
  • Before Access::preloadComponents (all components) (43.72KB) (1.41ms)
  • After Access::preloadComponents (all components) (116.7KB) (1.46ms)
  • Before Access::preloadPermissions (com_content) (1.63KB) (22μs)
  • After Access::preloadPermissions (com_content) (527.41KB) (1.81ms)
  • Before Access::getAssetRules (id:435 name:com_content.article.280) (18.65KB) (41μs)
  • After Access::getAssetRules (id:435 name:com_content.article.280) (11.38KB) (114μs)
  • afterRenderComponent com_content (1.61MB) (65.67ms)
  • afterDispatch (228.76KB) (3.75ms)
  • beforeRenderRawModule mod_finder () (376.02KB) (7.73ms)
  • afterRenderRawModule mod_finder () (1.77MB) (4.29ms)
  • beforeRenderModule mod_finder () (704B) (5μs)
  • afterRenderModule mod_finder () (1.44KB) (145μs)
  • beforeRenderRawModule mod_menu () (1.66KB) (191μs)
  • afterRenderRawModule mod_menu () (12.58KB) (533μs)
  • beforeRenderModule mod_menu () (696B) (6μs)
  • afterRenderModule mod_menu () (3.63KB) (130μs)
  • beforeRenderRawModule mod_custom () (920B) (67μs)
  • afterRenderRawModule mod_custom () (320.07KB) (977μs)
  • beforeRenderModule mod_custom () (704B) (4μs)
  • afterRenderModule mod_custom () (3.15KB) (55μs)
  • beforeRenderRawModule mod_menu () (24B) (82μs)
  • afterRenderRawModule mod_menu () (552B) (336μs)
  • beforeRenderModule mod_menu () (696B) (4μs)
  • afterRenderModule mod_menu () (2.76KB) (58μs)
  • beforeRenderRawModule mod_custom () (920B) (51μs)
  • afterRenderRawModule mod_custom () (1.03KB) (120μs)
  • beforeRenderModule mod_custom () (704B) (3μs)
  • afterRenderModule mod_custom () (1.23KB) (58μs)
  • beforeRenderRawModule mod_menu () (1.8KB) (70μs)
  • afterRenderRawModule mod_menu () (4.45KB) (381μs)
  • beforeRenderModule mod_menu () (696B) (4μs)
  • afterRenderModule mod_menu () (1.34KB) (97μs)
  • beforeRenderRawModule mod_finder () (96B) (9μs)
  • afterRenderRawModule mod_finder () (7.28KB) (513μs)
  • beforeRenderModule mod_finder () (704B) (4μs)
  • afterRenderModule mod_finder () (1.34KB) (89μs)
  • beforeRenderRawModule mod_custom () (288B) (9μs)
  • afterRenderRawModule mod_custom () (912B) (119μs)
  • beforeRenderModule mod_custom () (704B) (3μs)
  • afterRenderModule mod_custom () (1.23KB) (54μs)
  • beforeRenderRawModule mod_custom () (6.27KB) (136μs)
  • afterRenderRawModule mod_custom () (1008B) (135μs)
  • beforeRenderModule mod_custom () (704B) (4μs)
  • afterRenderModule mod_custom () (2.77KB) (44μs)
  • beforeRenderRawModule mod_custom () (472B) (52μs)
  • afterRenderRawModule mod_custom () (1008B) (96μs)
  • beforeRenderModule mod_custom () (704B) (3μs)
  • afterRenderModule mod_custom () (2.43KB) (38μs)
  • afterRender (299.2KB) (2.46ms)
  • 1 x afterRenderComponent com_content (1.61MB) (49.08%)
    65.67ms
    1 x afterInitialise (1.96MB) (20.84%)
    27.89ms
    1 x beforeRenderRawModule mod_finder () (376.02KB) (5.78%)
    7.73ms
    1 x afterRoute (375.48KB) (4.96%)
    6.63ms
    1 x afterRenderRawModule mod_finder () (1.77MB) (3.21%)
    4.29ms
    1 x afterDispatch (228.76KB) (2.8%)
    3.75ms
    1 x afterRender (299.2KB) (1.84%)
    2.46ms
    1 x afterLoad (444.73KB) (1.58%)
    2.11ms
    1 x After Access::preloadPermissions (com_content) (527.41KB) (1.36%)
    1.81ms
    1 x After Access::preloadComponents (all components) (116.7KB) (1.09%)
    1.46ms
    1 x Before Access::preloadComponents (all components) (43.72KB) (1.05%)
    1.41ms
    1 x beforeRenderComponent com_content (49.04KB) (0.74%)
    987μs
    1 x afterRenderRawModule mod_custom () (320.07KB) (0.73%)
    977μs
    1 x afterRenderRawModule mod_menu () (12.58KB) (0.4%)
    533μs
    1 x afterRenderRawModule mod_finder () (7.28KB) (0.38%)
    513μs
    1 x afterRenderRawModule mod_menu () (4.45KB) (0.28%)
    381μs
    1 x afterRenderRawModule mod_menu () (552B) (0.25%)
    336μs
    2 x afterRenderRawModule mod_custom () (1008B) (0.17%)
    231μs
    1 x beforeRenderRawModule mod_menu () (1.66KB) (0.14%)
    191μs
    1 x afterRenderModule mod_finder () (1.44KB) (0.11%)
    145μs
    1 x beforeRenderRawModule mod_custom () (6.27KB) (0.1%)
    136μs
    1 x afterRenderModule mod_menu () (3.63KB) (0.1%)
    130μs
    1 x afterRenderRawModule mod_custom () (1.03KB) (0.09%)
    120μs
    1 x afterRenderRawModule mod_custom () (912B) (0.09%)
    119μs
    2 x beforeRenderRawModule mod_custom () (920B) (0.09%)
    118μs
    1 x After Access::getAssetRules (id:435 name:com_content.article.280) (11.38KB) (0.09%)
    114μs
    2 x afterRenderModule mod_custom () (1.23KB) (0.08%)
    112μs
    1 x afterRenderModule mod_menu () (1.34KB) (0.07%)
    97μs
    1 x afterRenderModule mod_finder () (1.34KB) (0.07%)
    89μs
    1 x beforeRenderRawModule mod_menu () (24B) (0.06%)
    82μs
    1 x beforeRenderRawModule mod_menu () (1.8KB) (0.05%)
    70μs
    1 x afterRenderModule mod_menu () (2.76KB) (0.04%)
    58μs
    1 x afterRenderModule mod_custom () (3.15KB) (0.04%)
    55μs
    1 x beforeRenderRawModule mod_custom () (472B) (0.04%)
    52μs
    1 x afterRenderModule mod_custom () (2.77KB) (0.03%)
    44μs
    1 x Before Access::getAssetRules (id:435 name:com_content.article.280) (18.65KB) (0.03%)
    41μs
    1 x afterRenderModule mod_custom () (2.43KB) (0.03%)
    38μs
    1 x Before Access::preloadPermissions (com_content) (1.63KB) (0.02%)
    22μs
    5 x beforeRenderModule mod_custom () (704B) (0.01%)
    17μs
    3 x beforeRenderModule mod_menu () (696B) (0.01%)
    14μs
    1 x beforeRenderRawModule mod_finder () (96B) (0.01%)
    9μs
    2 x beforeRenderModule mod_finder () (704B) (0.01%)
    9μs
    1 x beforeRenderRawModule mod_custom () (288B) (0.01%)
    9μs
53 statements were executed, 5 of which were duplicates, 48 unique15.66ms886.27KB
  • SELECT @@SESSION.sql_mode;85μs968B/libraries/vendor/joomla/database/src/Mysqli/MysqliDriver.php:334Copy
  • SELECT `data` FROM `jos_session` WHERE `session_id` = ?509μs1008BParams/libraries/vendor/joomla/session/src/Handler/DatabaseHandler.php:261Copy
  • SELECT `session_id` FROM `jos_session` WHERE `session_id` = :session_id LIMIT 191μs1.3KBParams/libraries/src/Session/MetadataManager.php:187Copy
  • INSERT INTO `jos_session` (`session_id`,`guest`,`time`,`userid`,`username`,`client_id`) VALUES (:session_id, :guest, :time, :user_id, :username, :client_id)216μs944BParams/libraries/src/Session/MetadataManager.php:260Copy
  • SELECT `id`,`rules` FROM `jos_viewlevels`125μs976B/libraries/src/Access/Access.php:955Copy
  • SELECT `b`.`id` FROM `jos_usergroups` AS `a` LEFT JOIN `jos_usergroups` AS `b` ON `b`.`lft` <= `a`.`lft` AND `b`.`rgt` >= `a`.`rgt` WHERE `a`.`id` = :guest224μs1.33KBParams/libraries/src/Access/Access.php:868Copy
  • SELECT e.enabled FROM jos_extensions AS e WHERE e.element = "com_k2" AND e.type = "component"112μs520B/administrator/components/com_tagz/helpers/tagz.php:890Copy
  • SELECT e.enabled FROM jos_extensions AS e WHERE e.element = "com_virtuemart" AND e.type = "component"94μs520B/administrator/components/com_tagz/helpers/tagz.php:890Copy
  • SELECT e.enabled FROM jos_extensions AS e WHERE e.element = "com_easyblog" AND e.type = "component"69μs1.13KB/administrator/components/com_tagz/helpers/tagz.php:890Copy
  • SELECT e.enabled FROM jos_extensions AS e WHERE e.element = "com_jomclassifieds" AND e.type = "component"80μs520B/administrator/components/com_tagz/helpers/tagz.php:890Copy
  • SELECT e.enabled FROM jos_extensions AS e WHERE e.element = "com_hikashop" AND e.type = "component"953μs520B/administrator/components/com_tagz/helpers/tagz.php:890Copy
  • SELECT e.enabled FROM jos_extensions AS e WHERE e.element = "com_rseventspro" AND e.type = "component"96μs520B/administrator/components/com_tagz/helpers/tagz.php:890Copy
  • SELECT e.enabled FROM jos_extensions AS e WHERE e.element = "com_zoo" AND e.type = "component"79μs536B/administrator/components/com_tagz/helpers/tagz.php:890Copy
  • SELECT e.enabled FROM jos_extensions AS e WHERE e.element = "com_jticketing" AND e.type = "component"65μs520B/administrator/components/com_tagz/helpers/tagz.php:890Copy
  • SELECT e.enabled FROM jos_extensions AS e WHERE e.element = "com_icagenda" AND e.type = "component"66μs520B/administrator/components/com_tagz/helpers/tagz.php:890Copy
  • SELECT e.enabled FROM jos_extensions AS e WHERE e.element = "com_eventbooking" AND e.type = "component"85μs520B/administrator/components/com_tagz/helpers/tagz.php:890Copy
  • SELECT e.enabled FROM jos_extensions AS e WHERE e.element = "com_eshop" AND e.type = "component"94μs1.76KB/administrator/components/com_tagz/helpers/tagz.php:890Copy
  • SELECT e.enabled FROM jos_extensions AS e WHERE e.element = "com_rsblog" AND e.type = "component"161μs520B/administrator/components/com_tagz/helpers/tagz.php:890Copy
  • SELECT e.enabled FROM jos_extensions AS e WHERE e.element = "com_mijovideos" AND e.type = "component"119μs520B/administrator/components/com_tagz/helpers/tagz.php:890Copy
  • SELECT e.enabled FROM jos_extensions AS e WHERE e.element = "com_opencart" AND e.type = "component"79μs520B/administrator/components/com_tagz/helpers/tagz.php:890Copy
  • SELECT e.enabled FROM jos_extensions AS e WHERE e.element = "com_jcart" AND e.type = "component"80μs520B/administrator/components/com_tagz/helpers/tagz.php:890Copy
  • SELECT e.enabled FROM jos_extensions AS e WHERE e.element = "com_djclassifieds" AND e.type = "component"99μs520B/administrator/components/com_tagz/helpers/tagz.php:890Copy
  • SELECT e.enabled FROM jos_extensions AS e WHERE e.element = "com_j2store" AND e.type = "component"120μs520B/administrator/components/com_tagz/helpers/tagz.php:890Copy
  • SELECT e.enabled FROM jos_extensions AS e WHERE e.element = "com_phocacart" AND e.type = "component"88μs520B/administrator/components/com_tagz/helpers/tagz.php:890Copy
  • SELECT e.enabled FROM jos_extensions AS e WHERE e.element = "com_jshopping" AND e.type = "component"145μs520B/administrator/components/com_tagz/helpers/tagz.php:890Copy
  • SELECT e.enabled FROM jos_extensions AS e WHERE e.element = "com_igallery" AND e.type = "component"318μs520B/administrator/components/com_tagz/helpers/tagz.php:890Copy
  • SELECT e.enabled FROM jos_extensions AS e WHERE e.element = "com_dpcalendar" AND e.type = "component"223μs520B/administrator/components/com_tagz/helpers/tagz.php:890Copy
  • SHOW FULL COLUMNS FROM `jos_tagz_config`717μs1.3KB/libraries/vendor/joomla/database/src/Mysqli/MysqliDriver.php:625Copy
  • SELECT * FROM `jos_tagz_config` WHERE `name` = 'config'94μs592B/libraries/src/Table/Table.php:755Copy
  • SELECT id,template FROM jos_template_styles WHERE client_id=0 AND home=1221μs592B/administrator/components/com_widgetkit/widgetkit.php:28Copy
  • SELECT custom_data FROM jos_extensions WHERE element = 'yooessentials' AND folder = 'system'159μs536B/plugins/system/yooessentials/helper.php:153Copy
  • SELECT custom_data FROM jos_extensions WHERE element = 'yooessentials' AND folder = 'system' LIMIT 1209μs536B/plugins/system/yooessentials/modules/platform-joomla/src/Database.php:52Copy
  • SELECT `id`,`name`,`rules`,`parent_id` FROM `jos_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)659μs9.94KBParams/libraries/src/Access/Access.php:357Copy
  • SELECT `id`,`name`,`rules`,`parent_id` FROM `jos_assets` WHERE `name` LIKE :asset OR `name` = :extension OR `parent_id` = 0821μs49.48KBParams/libraries/src/Access/Access.php:301Copy
  • SHOW FULL COLUMNS FROM `jos_content`837μs1.77KB/libraries/vendor/joomla/database/src/Mysqli/MysqliDriver.php:625Copy
  • UPDATE `jos_content` SET `hits` = (`hits` + 1) WHERE `id` = '280'780μs48B/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 `jos_content` AS `a` INNER JOIN `jos_categories` AS `c` ON `c`.`id` = `a`.`catid` LEFT JOIN `jos_content_frontpage` AS `fp` ON `fp`.`content_id` = `a`.`id` LEFT JOIN `jos_users` AS `u` ON `u`.`id` = `a`.`created_by` LEFT JOIN `jos_categories` AS `parent` ON `parent`.`id` = `c`.`parent_id` LEFT JOIN `jos_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)474μs62.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 `jos_categories` AS `s` INNER JOIN `jos_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`366μs3.91KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT `m`.`tag_id`,`t`.* FROM `jos_contentitem_tag_map` AS `m` INNER JOIN `jos_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)239μs3.97KBParams/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 `jos_categories` AS `s` INNER JOIN `jos_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`286μs3.91KBParams/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 jos_fields AS a LEFT JOIN `jos_languages` AS l ON l.lang_code = a.language LEFT JOIN jos_users AS uc ON uc.id=a.checked_out LEFT JOIN jos_viewlevels AS ag ON ag.id = a.access LEFT JOIN jos_users AS ua ON ua.id = a.created_user_id LEFT JOIN jos_fields_groups AS g ON g.id = a.group_id LEFT JOIN `jos_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)) AND `a`.`access` IN (:preparedArray3,:preparedArray4)) AND (`a`.`group_id` = 0 OR `g`.`access` IN (:preparedArray5,:preparedArray6)) 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 ASC364μs4.75KBParams/libraries/src/MVC/Model/BaseDatabaseModel.php:166Copy
  • 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 `jos_content` AS `a` LEFT JOIN `jos_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) ORDER BY CASE WHEN `a`.`publish_up` IS NULL THEN `a`.`created` ELSE `a`.`publish_up` END DESC2.58ms21.72KBParams/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 `jos_categories` AS `s` INNER JOIN `jos_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`301μs3.91KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT `params` FROM `jos_tagz` WHERE `component_id` = 119 AND `component_type` = "menu"175μs520B/plugins/system/tagz/tagz.php:650Copy
  • SELECT `params` FROM `jos_tagz` WHERE `component_id` = 280 AND `component_type` = "content"195μs520B/plugins/system/tagz/tagz.php:650Copy
  • SELECT `name`,`element` FROM `jos_extensions` WHERE `type` = 'plugin' AND `folder` = 'finder' AND `enabled` = 1182μs592B/administrator/components/com_finder/src/Helper/LanguageHelper.php:135Copy
  • SELECT `title` FROM `jos_finder_taxonomy` WHERE `parent_id` = 1 AND `state` = 1 AND `access` IN (1,5)118μs584B/administrator/components/com_finder/src/Indexer/Taxonomy.php:314Copy
  • SELECT custom_data FROM jos_extensions WHERE element = 'yootheme' AND folder = 'system' LIMIT 1543μs688.52KB/templates/yootheme/packages/platform-joomla/src/Storage.php:30Copy
  • 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 jos_fields AS a LEFT JOIN `jos_languages` AS l ON l.lang_code = a.language LEFT JOIN jos_users AS uc ON uc.id=a.checked_out LEFT JOIN jos_viewlevels AS ag ON ag.id = a.access LEFT JOIN jos_users AS ua ON ua.id = a.created_user_id LEFT JOIN jos_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 ORDER BY a.ordering ASC279μs4.06KBParams/libraries/src/MVC/Model/BaseDatabaseModel.php:166Copy
  • SELECT `title` FROM `jos_finder_taxonomy` WHERE `parent_id` = 1 AND `state` = 1 AND `access` IN (1,5)122μ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 `jos_scheduler_tasks` AS `a` WHERE `a`.`state` = 1130μs1.37KBParams/administrator/components/com_scheduler/src/Model/TasksModel.php:517Copy
  • SELECT `session_id` FROM `jos_session` WHERE `session_id` = ?81μs1KBParams/libraries/vendor/joomla/session/src/Handler/DatabaseHandler.php:291Copy
  • UPDATE `jos_session` SET `data` = ? , `time` = ? WHERE `session_id` = ?252μs592BParams/libraries/vendor/joomla/session/src/Handler/DatabaseHandler.php:318Copy