{"id":241036,"date":"2023-01-12T16:06:57","date_gmt":"2023-01-12T23:06:57","guid":{"rendered":"https:\/\/virtual-dba.com\/?p=241036"},"modified":"2023-01-16T16:07:20","modified_gmt":"2023-01-16T23:07:20","slug":"unused-indexes-should-they-stay-or-go","status":"publish","type":"post","link":"https:\/\/virtual-dba.com\/blog\/unused-indexes-should-they-stay-or-go\/","title":{"rendered":"Unused Indexes: Should They Stay or Should They Go"},"content":{"rendered":"\n<p>Unused indexes warrant an evaluation for several reasons. It can be a red flag that the MySQL Optimizer is not choosing to use the index, meaning that the index is not worth the effort to use. Additionally, unused indexes can take up valuable disk space.<\/p>\n\n\n\n<p>In MySQL 5.7.7, the sys schema was introduced to make statistics gathered from the performance_schema and information_schema more readable. It is especially helpful for identifying unused indexes.<\/p>\n\n\n\n<p>The following command will create a list of unused indexed:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>mysql&gt; select * from sys.schema_unused_indexes;<\/code><\/pre>\n\n\n\n<p>The output will look something like this:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>mysql&gt; select * from schema_unused_indexes;\n\n+-----------------+-------------------+----------------------------+\n| object_schema   | object_name       | index_name                 |\n+-----------------+-------------------+----------------------------+\n| database        | tbl_1             | idx_1                      |\n| database        | tbl_2             | idx_2                      |\n+-----------------+-------------------+----------------------------+<\/code><\/pre>\n\n\n\n<p>But now what? If an index is unused, do we just drop it? Not necessarily. More analysis needs to be done to make sure that an unused index is truly not useful.<\/p>\n\n\n\n<p>There are several things to consider. Below are a few questions to ask yourself.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>What is your uptime? Is the index unused because it just hasn&#8217;t been used yet but will?<\/li>\n\n\n\n<li>Is there a forgeign key (FK) constraint? If so, should there be one?<\/li>\n\n\n\n<li>How useful is the index? Is it selective or will the optimizer decide that the cost of using the index is not worth it?<\/li>\n<\/ul>\n\n\n\n<p>In this blog, I will go through each consideration. Using these steps can help identify indexes that are good candidates for removal and should be investigated further.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Uptime<\/h2>\n\n\n\n<p>The index status &#8220;unused&#8221; can be somewhat misleading. Query statistics are cleared every time the MySQL instance is rebooted thus the index is &#8220;unused&#8221; since the last reboot. If you run the query for unused indexes right after a reboot, there would be more indexes in the output than if you ran it a few months later because applications are given more time to query the instance and use indexes. The longer the uptime, the more confident you can be in the unused index output.<\/p>\n\n\n\n<p>If rebooting the MySQL server is part of routine maintenance, it is best to run the command for the unused index output as close to scheduled maintenance as possible.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">FK Constraint<\/h2>\n\n\n\n<p>An FK is a column with unique keys that reference the primary key of another table. FK constraints prevent alterations between tables that would corrupt the link between the FK and referenced primary key.<\/p>\n\n\n\n<p>To find out if a column has an FK constraint, we have to look at the table definition. When conducting unused index analysis, it is good to start with the ones from the largest tables.<\/p>\n\n\n\n<p>The table definition can be derived using the command below.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>mysql&gt; show create table tbl_1;<\/code><\/pre>\n\n\n\n<p>The FK constraint will look something like the output below. It will start with the word &#8216;CONSTRAINT&#8217; followed by the index name, FK column, and referenced PK on another table.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>  CONSTRAINT `idx_name` FOREIGN KEY (`column_name`) REFERENCES `another_tbl` (`primary_key`),<\/code><\/pre>\n\n\n\n<p>If there is an FK constraint on the index, do not drop the index. This doesn&#8217;t mean that there should be an FK constraint or the query doesn&#8217;t need tuning. It just means that dropping the index will throw an error.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Selectivity<\/h2>\n\n\n\n<p>Selectivity relates to the specificity of an index. The more distinct the values are in the index columns, the higher the selectivity. Selectivity closest to 1.00 is ideal.<\/p>\n\n\n\n<p>The equation below shows the relationship between distinct values and selectivity.<\/p>\n\n\n\n<p class=\"has-text-align-center\"><em>Selectivity = distinct values\/ total number of rows<\/em><\/p>\n\n\n\n<p class=\"has-text-align-center\"><em>Selectivity closer to 1.00 is best.<\/em><\/p>\n\n\n\n<p>The query below can be used to get the number of distinct values and total rows.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>mysql&gt; select count(distinct idx_column) \"DISTINCT KEYS\", count(idx_column) \"TOTAL NUM ROWS\" from tbl1;\n+---------------+----------------+\n| DISTINCT KEYS | TOTAL NUM ROWS |\n+---------------+----------------+\n|        669430 |        2581845 |\n+---------------+----------------+<\/code><\/pre>\n\n\n\n<p>Selectivity for the given example is 0.26 which is not considered a useful index.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Selectivity Defined Differently<\/h2>\n\n\n\n<p>You might get conflicting information on high or low selectivity being ideal. I know I did. I realized that there were two methods of defining selectivity. An alternative method being used was calculating the ratio of returned rows using the index to the total number of rows in the table (not the same as the number of rows scanned).<\/p>\n\n\n\n<p><strong>Alternative Selectivity Equation:<\/strong><\/p>\n\n\n\n<p class=\"has-text-align-center\"><em>Selectivity = returned rows using index\/ total number of rows<\/em><\/p>\n\n\n\n<p class=\"has-text-align-center\"><em>Selectivity &lt; 0.20 is ideal<\/em><\/p>\n\n\n\n<p>To get these numbers, a query is needed for profiling. (Profiling is a whole other topic that is also worth researching.) If thinking about selectivity in this way, a ratio of less than 0.20 is ideal.<\/p>\n\n\n\n<p>Following the methods in this blog is the first step to deciding if an index should be dropped. There is still work to be done before actually dropping the index, especially on a production server. I recommend testing the impact of removing an index in a dev or replica server before dropping an index on a production server. Furthermore, MySQL 8.0 allows you to test the removal of an index without actually dropping it. For more information on invisible indexes, check out the <a href=\"https:\/\/dev.mysql.com\/doc\/refman\/8.0\/en\/invisible-indexes.html\" target=\"_blank\" rel=\"noreferrer noopener\">MySQL documentation<\/a>.<\/p>\n\n\n\n<p>Please <a href=\"https:\/\/virtual-dba.com\/contact-us\/\">contact us <\/a>for any questions you may have!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Unused indexes warrant an evaluation for several reasons. It can be a red flag that the MySQL Optimizer is not choosing to use the index, meaning that the index is not worth the effort to use. Additionally, unused indexes can take up valuable disk space. In MySQL 5.7.7, the sys schema was introduced to make [&hellip;]<\/p>\n","protected":false},"author":49,"featured_media":241037,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_et_pb_use_builder":"off","_et_pb_old_content":"","_et_gb_content_width":"","content-type":"","footnotes":""},"categories":[4166,39],"tags":[3492,40],"class_list":["post-241036","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog","category-mysql","tag-indexes","tag-mysql"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.1 (Yoast SEO v27.1.1) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Unused Indexes: Should They Stay or Should They Go?<\/title>\n<meta name=\"description\" content=\"Here are steps that can help identify indexes that are good candidates for removal and should be investigated further.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/virtual-dba.com\/blog\/unused-indexes-should-they-stay-or-go\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Unused Indexes: Should They Stay or Should They Go\" \/>\n<meta property=\"og:description\" content=\"Here are steps that can help identify indexes that are good candidates for removal and should be investigated further.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/virtual-dba.com\/blog\/unused-indexes-should-they-stay-or-go\/\" \/>\n<meta property=\"og:site_name\" content=\"Virtual-DBA Remote DBA Services &amp; Support - Certified Database Experts\" \/>\n<meta property=\"article:published_time\" content=\"2023-01-12T23:06:57+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-01-16T23:07:20+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/virtual-dba.com\/wp-content\/uploads\/Unused-Indexes-Should-They-Stay-or-Should-They-Go_.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"557\" \/>\n\t<meta property=\"og:image:height\" content=\"291\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Monica Silva\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@virtual_dba\" \/>\n<meta name=\"twitter:site\" content=\"@virtual_dba\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Monica Silva\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/virtual-dba.com\/blog\/unused-indexes-should-they-stay-or-go\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/virtual-dba.com\/blog\/unused-indexes-should-they-stay-or-go\/\"},\"author\":{\"name\":\"Monica Silva\",\"@id\":\"https:\/\/virtual-dba.com\/#\/schema\/person\/9326f6340815aef31d91f56e4ba145da\"},\"headline\":\"Unused Indexes: Should They Stay or Should They Go\",\"datePublished\":\"2023-01-12T23:06:57+00:00\",\"dateModified\":\"2023-01-16T23:07:20+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/virtual-dba.com\/blog\/unused-indexes-should-they-stay-or-go\/\"},\"wordCount\":782,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/virtual-dba.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/virtual-dba.com\/blog\/unused-indexes-should-they-stay-or-go\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/virtual-dba.com\/wp-content\/uploads\/Unused-Indexes-Should-They-Stay-or-Should-They-Go_.jpg\",\"keywords\":[\"Indexes\",\"mysql\"],\"articleSection\":[\"Blog\",\"MySQL\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/virtual-dba.com\/blog\/unused-indexes-should-they-stay-or-go\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/virtual-dba.com\/blog\/unused-indexes-should-they-stay-or-go\/\",\"url\":\"https:\/\/virtual-dba.com\/blog\/unused-indexes-should-they-stay-or-go\/\",\"name\":\"Unused Indexes: Should They Stay or Should They Go?\",\"isPartOf\":{\"@id\":\"https:\/\/virtual-dba.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/virtual-dba.com\/blog\/unused-indexes-should-they-stay-or-go\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/virtual-dba.com\/blog\/unused-indexes-should-they-stay-or-go\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/virtual-dba.com\/wp-content\/uploads\/Unused-Indexes-Should-They-Stay-or-Should-They-Go_.jpg\",\"datePublished\":\"2023-01-12T23:06:57+00:00\",\"dateModified\":\"2023-01-16T23:07:20+00:00\",\"description\":\"Here are steps that can help identify indexes that are good candidates for removal and should be investigated further.\",\"breadcrumb\":{\"@id\":\"https:\/\/virtual-dba.com\/blog\/unused-indexes-should-they-stay-or-go\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/virtual-dba.com\/blog\/unused-indexes-should-they-stay-or-go\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/virtual-dba.com\/blog\/unused-indexes-should-they-stay-or-go\/#primaryimage\",\"url\":\"https:\/\/virtual-dba.com\/wp-content\/uploads\/Unused-Indexes-Should-They-Stay-or-Should-They-Go_.jpg\",\"contentUrl\":\"https:\/\/virtual-dba.com\/wp-content\/uploads\/Unused-Indexes-Should-They-Stay-or-Should-They-Go_.jpg\",\"width\":557,\"height\":291,\"caption\":\"Unused Indexes: Should They Stay or Should They Go?\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/virtual-dba.com\/blog\/unused-indexes-should-they-stay-or-go\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/virtual-dba.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Unused Indexes: Should They Stay or Should They Go\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/virtual-dba.com\/#website\",\"url\":\"https:\/\/virtual-dba.com\/\",\"name\":\"Virtual-DBA Remote DBA Services &amp; Support - Certified Database Experts\",\"description\":\"Remote Database Administration\",\"publisher\":{\"@id\":\"https:\/\/virtual-dba.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/virtual-dba.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/virtual-dba.com\/#organization\",\"name\":\"Virtual-DBA: Remote DBA | Remote Database Administration\",\"alternateName\":\"Virtual-DBA powered by XTIVIA\",\"url\":\"https:\/\/virtual-dba.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/virtual-dba.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/virtual-dba.com\/wp-content\/uploads\/V-DBA-Database-Services-and-Support-Featured-Logo.jpg\",\"contentUrl\":\"https:\/\/virtual-dba.com\/wp-content\/uploads\/V-DBA-Database-Services-and-Support-Featured-Logo.jpg\",\"width\":557,\"height\":291,\"caption\":\"Virtual-DBA: Remote DBA | Remote Database Administration\"},\"image\":{\"@id\":\"https:\/\/virtual-dba.com\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/x.com\/virtual_dba\",\"https:\/\/www.linkedin.com\/showcase\/36220649\/\",\"https:\/\/www.youtube.com\/channel\/UCx3AIeUQ2ziTLKZSJDZ-SEg\"],\"description\":\"Eliminate database downtime and spiraling costs with XTIVIA\u2019s Virtual-DBA. In today\u2019s always-on business world, gaps in 24x7 on-call DBA support, neglected maintenance and security, or a stretched team struggling with overwhelming workloads can lead to costly disruptions and threaten business continuity. XTIVIA\u2019s Virtual-DBA provides the immediate, expert database administration you need, exactly when you need it, ensuring optimal performance, ironclad security, and significant cost savings without the burden of expanding your in-house team. The goal of Virtual-DBA is to provide a cost-effective solution for organizations seeking to optimize the security, management, maintenance, availability, and performance of their critical business systems, whether self-managed or cloud-managed (e.g., AWS RDS, Azure SQL Database). We accomplish this through a comprehensive remote DBA service offering designed specifically to meet the Oracle\u00ae, DB2\u00ae, Informix\u00ae, MySQL\u2122, PostgreSQL\u00ae, MongoDB\u00ae, MariaDB, and Microsoft SQL Server\u00ae, CockroachDB, Databricks, AWS, and Azure needs of our clients.\",\"email\":\"info@xtivia.com\",\"telephone\":\"8886853101\",\"legalName\":\"XTIVIA, Inc\",\"foundingDate\":\"1992-05-01\",\"numberOfEmployees\":{\"@type\":\"QuantitativeValue\",\"minValue\":\"201\",\"maxValue\":\"500\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/virtual-dba.com\/#\/schema\/person\/9326f6340815aef31d91f56e4ba145da\",\"name\":\"Monica Silva\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/virtual-dba.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/9af003bf84c81e7a65a1816bc03fa96f866c8d4432b67dec463ef4fbcbe2d65d?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/9af003bf84c81e7a65a1816bc03fa96f866c8d4432b67dec463ef4fbcbe2d65d?s=96&d=mm&r=g\",\"caption\":\"Monica Silva\"},\"url\":\"https:\/\/virtual-dba.com\/author\/monica-silva\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Unused Indexes: Should They Stay or Should They Go?","description":"Here are steps that can help identify indexes that are good candidates for removal and should be investigated further.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/virtual-dba.com\/blog\/unused-indexes-should-they-stay-or-go\/","og_locale":"en_US","og_type":"article","og_title":"Unused Indexes: Should They Stay or Should They Go","og_description":"Here are steps that can help identify indexes that are good candidates for removal and should be investigated further.","og_url":"https:\/\/virtual-dba.com\/blog\/unused-indexes-should-they-stay-or-go\/","og_site_name":"Virtual-DBA Remote DBA Services &amp; Support - Certified Database Experts","article_published_time":"2023-01-12T23:06:57+00:00","article_modified_time":"2023-01-16T23:07:20+00:00","og_image":[{"width":557,"height":291,"url":"https:\/\/virtual-dba.com\/wp-content\/uploads\/Unused-Indexes-Should-They-Stay-or-Should-They-Go_.jpg","type":"image\/jpeg"}],"author":"Monica Silva","twitter_card":"summary_large_image","twitter_creator":"@virtual_dba","twitter_site":"@virtual_dba","twitter_misc":{"Written by":"Monica Silva","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/virtual-dba.com\/blog\/unused-indexes-should-they-stay-or-go\/#article","isPartOf":{"@id":"https:\/\/virtual-dba.com\/blog\/unused-indexes-should-they-stay-or-go\/"},"author":{"name":"Monica Silva","@id":"https:\/\/virtual-dba.com\/#\/schema\/person\/9326f6340815aef31d91f56e4ba145da"},"headline":"Unused Indexes: Should They Stay or Should They Go","datePublished":"2023-01-12T23:06:57+00:00","dateModified":"2023-01-16T23:07:20+00:00","mainEntityOfPage":{"@id":"https:\/\/virtual-dba.com\/blog\/unused-indexes-should-they-stay-or-go\/"},"wordCount":782,"commentCount":0,"publisher":{"@id":"https:\/\/virtual-dba.com\/#organization"},"image":{"@id":"https:\/\/virtual-dba.com\/blog\/unused-indexes-should-they-stay-or-go\/#primaryimage"},"thumbnailUrl":"https:\/\/virtual-dba.com\/wp-content\/uploads\/Unused-Indexes-Should-They-Stay-or-Should-They-Go_.jpg","keywords":["Indexes","mysql"],"articleSection":["Blog","MySQL"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/virtual-dba.com\/blog\/unused-indexes-should-they-stay-or-go\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/virtual-dba.com\/blog\/unused-indexes-should-they-stay-or-go\/","url":"https:\/\/virtual-dba.com\/blog\/unused-indexes-should-they-stay-or-go\/","name":"Unused Indexes: Should They Stay or Should They Go?","isPartOf":{"@id":"https:\/\/virtual-dba.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/virtual-dba.com\/blog\/unused-indexes-should-they-stay-or-go\/#primaryimage"},"image":{"@id":"https:\/\/virtual-dba.com\/blog\/unused-indexes-should-they-stay-or-go\/#primaryimage"},"thumbnailUrl":"https:\/\/virtual-dba.com\/wp-content\/uploads\/Unused-Indexes-Should-They-Stay-or-Should-They-Go_.jpg","datePublished":"2023-01-12T23:06:57+00:00","dateModified":"2023-01-16T23:07:20+00:00","description":"Here are steps that can help identify indexes that are good candidates for removal and should be investigated further.","breadcrumb":{"@id":"https:\/\/virtual-dba.com\/blog\/unused-indexes-should-they-stay-or-go\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/virtual-dba.com\/blog\/unused-indexes-should-they-stay-or-go\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/virtual-dba.com\/blog\/unused-indexes-should-they-stay-or-go\/#primaryimage","url":"https:\/\/virtual-dba.com\/wp-content\/uploads\/Unused-Indexes-Should-They-Stay-or-Should-They-Go_.jpg","contentUrl":"https:\/\/virtual-dba.com\/wp-content\/uploads\/Unused-Indexes-Should-They-Stay-or-Should-They-Go_.jpg","width":557,"height":291,"caption":"Unused Indexes: Should They Stay or Should They Go?"},{"@type":"BreadcrumbList","@id":"https:\/\/virtual-dba.com\/blog\/unused-indexes-should-they-stay-or-go\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/virtual-dba.com\/"},{"@type":"ListItem","position":2,"name":"Unused Indexes: Should They Stay or Should They Go"}]},{"@type":"WebSite","@id":"https:\/\/virtual-dba.com\/#website","url":"https:\/\/virtual-dba.com\/","name":"Virtual-DBA Remote DBA Services &amp; Support - Certified Database Experts","description":"Remote Database Administration","publisher":{"@id":"https:\/\/virtual-dba.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/virtual-dba.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/virtual-dba.com\/#organization","name":"Virtual-DBA: Remote DBA | Remote Database Administration","alternateName":"Virtual-DBA powered by XTIVIA","url":"https:\/\/virtual-dba.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/virtual-dba.com\/#\/schema\/logo\/image\/","url":"https:\/\/virtual-dba.com\/wp-content\/uploads\/V-DBA-Database-Services-and-Support-Featured-Logo.jpg","contentUrl":"https:\/\/virtual-dba.com\/wp-content\/uploads\/V-DBA-Database-Services-and-Support-Featured-Logo.jpg","width":557,"height":291,"caption":"Virtual-DBA: Remote DBA | Remote Database Administration"},"image":{"@id":"https:\/\/virtual-dba.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/x.com\/virtual_dba","https:\/\/www.linkedin.com\/showcase\/36220649\/","https:\/\/www.youtube.com\/channel\/UCx3AIeUQ2ziTLKZSJDZ-SEg"],"description":"Eliminate database downtime and spiraling costs with XTIVIA\u2019s Virtual-DBA. In today\u2019s always-on business world, gaps in 24x7 on-call DBA support, neglected maintenance and security, or a stretched team struggling with overwhelming workloads can lead to costly disruptions and threaten business continuity. XTIVIA\u2019s Virtual-DBA provides the immediate, expert database administration you need, exactly when you need it, ensuring optimal performance, ironclad security, and significant cost savings without the burden of expanding your in-house team. The goal of Virtual-DBA is to provide a cost-effective solution for organizations seeking to optimize the security, management, maintenance, availability, and performance of their critical business systems, whether self-managed or cloud-managed (e.g., AWS RDS, Azure SQL Database). We accomplish this through a comprehensive remote DBA service offering designed specifically to meet the Oracle\u00ae, DB2\u00ae, Informix\u00ae, MySQL\u2122, PostgreSQL\u00ae, MongoDB\u00ae, MariaDB, and Microsoft SQL Server\u00ae, CockroachDB, Databricks, AWS, and Azure needs of our clients.","email":"info@xtivia.com","telephone":"8886853101","legalName":"XTIVIA, Inc","foundingDate":"1992-05-01","numberOfEmployees":{"@type":"QuantitativeValue","minValue":"201","maxValue":"500"}},{"@type":"Person","@id":"https:\/\/virtual-dba.com\/#\/schema\/person\/9326f6340815aef31d91f56e4ba145da","name":"Monica Silva","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/virtual-dba.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/9af003bf84c81e7a65a1816bc03fa96f866c8d4432b67dec463ef4fbcbe2d65d?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/9af003bf84c81e7a65a1816bc03fa96f866c8d4432b67dec463ef4fbcbe2d65d?s=96&d=mm&r=g","caption":"Monica Silva"},"url":"https:\/\/virtual-dba.com\/author\/monica-silva\/"}]}},"_links":{"self":[{"href":"https:\/\/virtual-dba.com\/wp-json\/wp\/v2\/posts\/241036","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/virtual-dba.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/virtual-dba.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/virtual-dba.com\/wp-json\/wp\/v2\/users\/49"}],"replies":[{"embeddable":true,"href":"https:\/\/virtual-dba.com\/wp-json\/wp\/v2\/comments?post=241036"}],"version-history":[{"count":0,"href":"https:\/\/virtual-dba.com\/wp-json\/wp\/v2\/posts\/241036\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/virtual-dba.com\/wp-json\/wp\/v2\/media\/241037"}],"wp:attachment":[{"href":"https:\/\/virtual-dba.com\/wp-json\/wp\/v2\/media?parent=241036"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/virtual-dba.com\/wp-json\/wp\/v2\/categories?post=241036"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/virtual-dba.com\/wp-json\/wp\/v2\/tags?post=241036"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}