{"id":11050,"date":"2008-02-06T12:51:11","date_gmt":"2008-02-06T09:51:11","guid":{"rendered":"https:\/\/mamchenkov.net\/wordpress\/2008\/02\/06\/portability-and-flexibility-win-over-performance\/"},"modified":"2008-02-06T12:51:11","modified_gmt":"2008-02-06T09:51:11","slug":"portability-and-flexibility-win-over-performance","status":"publish","type":"post","link":"https:\/\/mamchenkov.net\/wordpress\/2008\/02\/06\/portability-and-flexibility-win-over-performance\/","title":{"rendered":"Portability and flexibility win over performance"},"content":{"rendered":"<!-- google_ad_section_start -->\n<p>I noticed this ticket in <a href=\"http:\/\/trac.wordpress.org\">WordPress Trac<\/a> &#8211; <a href=\"http:\/\/trac.wordpress.org\/ticket\/4778\">Change enum to varchar<\/a> and went in to see if there is any heated discussion.\u00c2\u00a0 The issue is around field types used in SQL scheme for WordPress tables.\u00c2\u00a0 Certain fields, such post status employed <a href=\"http:\/\/dev.mysql.com\/doc\/refman\/5.0\/en\/enum.html\" title=\"MySQL reference : ENUM\">ENUM type<\/a> with a set of allowed values.\u00c2\u00a0 The proposed change in the ticket is to convert them to <a href=\"http:\/\/dev.mysql.com\/doc\/refman\/5.0\/en\/char.html\" title=\"MySQL reference : CHAR and VARCHAR\">VARCHAR type<\/a>.<\/p>\n<p>Why the change?\u00c2\u00a0 Well, VARCHAR is just a text field.\u00c2\u00a0 Anyone can put pretty much any string into it.\u00c2\u00a0 It has more flexibility for plugin developers and future changes &#8211; no need to tweak the SQL scheme.\u00c2\u00a0 ENUM on the other hand works a little bit faster.<\/p>\n<p><strong>Side note<\/strong>: <em>I also thought that ENUM provides some extra data validation, assuming the ENUM field is set to NOT NULL, but it turns out this is not the case.\u00c2\u00a0 If you insert a record with a value which is not in the list, the NULL is used.\u00c2\u00a0<\/em><\/p>\n<p>The change has been approved, the patch was attached, and the world will see it in the next <a href=\"http:\/\/wordpress.org\">WordPress<\/a> release.\u00c2\u00a0 Once again, it has been proven that human time is much more valuable than machine time.\u00c2\u00a0 Making it easier for plugin developers to extend and change the system has more value than that of a few extra CPU cycles to lookup in strings instead of numbers.<\/p>\n<!-- google_ad_section_end -->\n","protected":false},"excerpt":{"rendered":"<!-- google_ad_section_start -->\n<p>I noticed this ticket in WordPress Trac &#8211; Change enum to varchar and went in to see if there is any heated discussion.\u00c2\u00a0 The issue is around field types used in SQL scheme for WordPress tables.\u00c2\u00a0 Certain fields, such post status employed ENUM type with a set of allowed values.\u00c2\u00a0 The proposed change in the &hellip; <a href=\"https:\/\/mamchenkov.net\/wordpress\/2008\/02\/06\/portability-and-flexibility-win-over-performance\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">Portability and flexibility win over performance<\/span><\/a><\/p>\n<!-- google_ad_section_end -->\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false,"_links_to":"","_links_to_target":""},"categories":[1,18,60],"tags":[3066,246,1057,1345,773],"keyring_services":[],"class_list":["post-11050","post","type-post","status-publish","format-standard","hentry","category-general","category-programming","category-wordpress","tag-mysql","tag-optimization","tag-performance","tag-portability","tag-sql"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.8 - aioseo.com -->\n\t<meta name=\"description\" content=\"I noticed this ticket in WordPress Trac - Change enum to varchar and went in to see if there is any heated discussion.\u00c2 The issue is around field types used in SQL scheme for WordPress tables.\u00c2 Certain fields, such post status employed ENUM type with a set of allowed values.\u00c2 The proposed change in the\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Leonid Mamchenkov\"\/>\n\t<meta name=\"google-site-verification\" content=\"VHvdD0_usx1_4DzKy_QCVcICVgX2EgA2ybELT-wl7kQ\" \/>\n\t<link rel=\"canonical\" href=\"https:\/\/mamchenkov.net\/wordpress\/2008\/02\/06\/portability-and-flexibility-win-over-performance\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.8\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"Leonid Mamchenkov - Life, universe, and everything else\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"Portability and flexibility win over performance - Leonid Mamchenkov\" \/>\n\t\t<meta property=\"og:description\" content=\"I noticed this ticket in WordPress Trac - Change enum to varchar and went in to see if there is any heated discussion.\u00c2 The issue is around field types used in SQL scheme for WordPress tables.\u00c2 Certain fields, such post status employed ENUM type with a set of allowed values.\u00c2 The proposed change in the\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/mamchenkov.net\/wordpress\/2008\/02\/06\/portability-and-flexibility-win-over-performance\/\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2026\/03\/leonid-sailing-beer.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2026\/03\/leonid-sailing-beer.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"1024\" \/>\n\t\t<meta property=\"og:image:height\" content=\"1024\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2008-02-06T09:51:11+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2008-02-06T09:51:11+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/MamchenkovBlog\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n\t\t<meta name=\"twitter:site\" content=\"@mamchenkov\" \/>\n\t\t<meta name=\"twitter:title\" content=\"Portability and flexibility win over performance - Leonid Mamchenkov\" \/>\n\t\t<meta name=\"twitter:description\" content=\"I noticed this ticket in WordPress Trac - Change enum to varchar and went in to see if there is any heated discussion.\u00c2 The issue is around field types used in SQL scheme for WordPress tables.\u00c2 Certain fields, such post status employed ENUM type with a set of allowed values.\u00c2 The proposed change in the\" \/>\n\t\t<meta name=\"twitter:creator\" content=\"@mamchenkov\" \/>\n\t\t<meta name=\"twitter:image\" content=\"https:\/\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2026\/03\/leonid-sailing-beer.jpg\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"BlogPosting\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2008\\\/02\\\/06\\\/portability-and-flexibility-win-over-performance\\\/#blogposting\",\"name\":\"Portability and flexibility win over performance - Leonid Mamchenkov\",\"headline\":\"Portability and flexibility win over performance\",\"author\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/author\\\/leonid\\\/#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/#person\"},\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2008\\\/02\\\/06\\\/portability-and-flexibility-win-over-performance\\\/#articleImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/3cf6df002a284d78fb6e9d8222ca4d102e0832035ed6bc8447008bd234e131a4?s=96&d=identicon&r=g\",\"width\":96,\"height\":96,\"caption\":\"Leonid Mamchenkov\"},\"datePublished\":\"2008-02-06T12:51:11+02:00\",\"dateModified\":\"2008-02-06T12:51:11+02:00\",\"inLanguage\":\"en-US\",\"commentCount\":1,\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2008\\\/02\\\/06\\\/portability-and-flexibility-win-over-performance\\\/#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2008\\\/02\\\/06\\\/portability-and-flexibility-win-over-performance\\\/#webpage\"},\"articleSection\":\"All, Programming, WordPress, MySQL, optimization, performance, portability, sql\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2008\\\/02\\\/06\\\/portability-and-flexibility-win-over-performance\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/technology\\\/#listItem\",\"name\":\"Technology\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/technology\\\/#listItem\",\"position\":2,\"name\":\"Technology\",\"item\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/technology\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/technology\\\/programming\\\/#listItem\",\"name\":\"Programming\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/technology\\\/programming\\\/#listItem\",\"position\":3,\"name\":\"Programming\",\"item\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/technology\\\/programming\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2008\\\/02\\\/06\\\/portability-and-flexibility-win-over-performance\\\/#listItem\",\"name\":\"Portability and flexibility win over performance\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/technology\\\/#listItem\",\"name\":\"Technology\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2008\\\/02\\\/06\\\/portability-and-flexibility-win-over-performance\\\/#listItem\",\"position\":4,\"name\":\"Portability and flexibility win over performance\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/technology\\\/programming\\\/#listItem\",\"name\":\"Programming\"}}]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/#person\",\"name\":\"Leonid Mamchenkov\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2008\\\/02\\\/06\\\/portability-and-flexibility-win-over-performance\\\/#personImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/3cf6df002a284d78fb6e9d8222ca4d102e0832035ed6bc8447008bd234e131a4?s=96&d=identicon&r=g\",\"width\":96,\"height\":96,\"caption\":\"Leonid Mamchenkov\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/author\\\/leonid\\\/#author\",\"url\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/author\\\/leonid\\\/\",\"name\":\"Leonid Mamchenkov\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2008\\\/02\\\/06\\\/portability-and-flexibility-win-over-performance\\\/#authorImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/3cf6df002a284d78fb6e9d8222ca4d102e0832035ed6bc8447008bd234e131a4?s=96&d=identicon&r=g\",\"width\":96,\"height\":96,\"caption\":\"Leonid Mamchenkov\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2008\\\/02\\\/06\\\/portability-and-flexibility-win-over-performance\\\/#webpage\",\"url\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2008\\\/02\\\/06\\\/portability-and-flexibility-win-over-performance\\\/\",\"name\":\"Portability and flexibility win over performance - Leonid Mamchenkov\",\"description\":\"I noticed this ticket in WordPress Trac - Change enum to varchar and went in to see if there is any heated discussion.\\u00c2 The issue is around field types used in SQL scheme for WordPress tables.\\u00c2 Certain fields, such post status employed ENUM type with a set of allowed values.\\u00c2 The proposed change in the\",\"inLanguage\":\"en-US\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2008\\\/02\\\/06\\\/portability-and-flexibility-win-over-performance\\\/#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/author\\\/leonid\\\/#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/author\\\/leonid\\\/#author\"},\"datePublished\":\"2008-02-06T12:51:11+02:00\",\"dateModified\":\"2008-02-06T12:51:11+02:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/#website\",\"url\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/\",\"name\":\"Blog of Leonid Mamchenkov\",\"description\":\"Life, universe, and everything else\",\"inLanguage\":\"en-US\",\"publisher\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/#person\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"Portability and flexibility win over performance - Leonid Mamchenkov","description":"I noticed this ticket in WordPress Trac - Change enum to varchar and went in to see if there is any heated discussion.\u00c2 The issue is around field types used in SQL scheme for WordPress tables.\u00c2 Certain fields, such post status employed ENUM type with a set of allowed values.\u00c2 The proposed change in the","canonical_url":"https:\/\/mamchenkov.net\/wordpress\/2008\/02\/06\/portability-and-flexibility-win-over-performance\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"google-site-verification":"VHvdD0_usx1_4DzKy_QCVcICVgX2EgA2ybELT-wl7kQ","miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"BlogPosting","@id":"https:\/\/mamchenkov.net\/wordpress\/2008\/02\/06\/portability-and-flexibility-win-over-performance\/#blogposting","name":"Portability and flexibility win over performance - Leonid Mamchenkov","headline":"Portability and flexibility win over performance","author":{"@id":"https:\/\/mamchenkov.net\/wordpress\/author\/leonid\/#author"},"publisher":{"@id":"https:\/\/mamchenkov.net\/wordpress\/#person"},"image":{"@type":"ImageObject","@id":"https:\/\/mamchenkov.net\/wordpress\/2008\/02\/06\/portability-and-flexibility-win-over-performance\/#articleImage","url":"https:\/\/secure.gravatar.com\/avatar\/3cf6df002a284d78fb6e9d8222ca4d102e0832035ed6bc8447008bd234e131a4?s=96&d=identicon&r=g","width":96,"height":96,"caption":"Leonid Mamchenkov"},"datePublished":"2008-02-06T12:51:11+02:00","dateModified":"2008-02-06T12:51:11+02:00","inLanguage":"en-US","commentCount":1,"mainEntityOfPage":{"@id":"https:\/\/mamchenkov.net\/wordpress\/2008\/02\/06\/portability-and-flexibility-win-over-performance\/#webpage"},"isPartOf":{"@id":"https:\/\/mamchenkov.net\/wordpress\/2008\/02\/06\/portability-and-flexibility-win-over-performance\/#webpage"},"articleSection":"All, Programming, WordPress, MySQL, optimization, performance, portability, sql"},{"@type":"BreadcrumbList","@id":"https:\/\/mamchenkov.net\/wordpress\/2008\/02\/06\/portability-and-flexibility-win-over-performance\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress#listItem","position":1,"name":"Home","item":"https:\/\/mamchenkov.net\/wordpress","nextItem":{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/#listItem","name":"Technology"}},{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/#listItem","position":2,"name":"Technology","item":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/","nextItem":{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/programming\/#listItem","name":"Programming"},"previousItem":{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/programming\/#listItem","position":3,"name":"Programming","item":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/programming\/","nextItem":{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/2008\/02\/06\/portability-and-flexibility-win-over-performance\/#listItem","name":"Portability and flexibility win over performance"},"previousItem":{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/#listItem","name":"Technology"}},{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/2008\/02\/06\/portability-and-flexibility-win-over-performance\/#listItem","position":4,"name":"Portability and flexibility win over performance","previousItem":{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/programming\/#listItem","name":"Programming"}}]},{"@type":"Person","@id":"https:\/\/mamchenkov.net\/wordpress\/#person","name":"Leonid Mamchenkov","image":{"@type":"ImageObject","@id":"https:\/\/mamchenkov.net\/wordpress\/2008\/02\/06\/portability-and-flexibility-win-over-performance\/#personImage","url":"https:\/\/secure.gravatar.com\/avatar\/3cf6df002a284d78fb6e9d8222ca4d102e0832035ed6bc8447008bd234e131a4?s=96&d=identicon&r=g","width":96,"height":96,"caption":"Leonid Mamchenkov"}},{"@type":"Person","@id":"https:\/\/mamchenkov.net\/wordpress\/author\/leonid\/#author","url":"https:\/\/mamchenkov.net\/wordpress\/author\/leonid\/","name":"Leonid Mamchenkov","image":{"@type":"ImageObject","@id":"https:\/\/mamchenkov.net\/wordpress\/2008\/02\/06\/portability-and-flexibility-win-over-performance\/#authorImage","url":"https:\/\/secure.gravatar.com\/avatar\/3cf6df002a284d78fb6e9d8222ca4d102e0832035ed6bc8447008bd234e131a4?s=96&d=identicon&r=g","width":96,"height":96,"caption":"Leonid Mamchenkov"}},{"@type":"WebPage","@id":"https:\/\/mamchenkov.net\/wordpress\/2008\/02\/06\/portability-and-flexibility-win-over-performance\/#webpage","url":"https:\/\/mamchenkov.net\/wordpress\/2008\/02\/06\/portability-and-flexibility-win-over-performance\/","name":"Portability and flexibility win over performance - Leonid Mamchenkov","description":"I noticed this ticket in WordPress Trac - Change enum to varchar and went in to see if there is any heated discussion.\u00c2 The issue is around field types used in SQL scheme for WordPress tables.\u00c2 Certain fields, such post status employed ENUM type with a set of allowed values.\u00c2 The proposed change in the","inLanguage":"en-US","isPartOf":{"@id":"https:\/\/mamchenkov.net\/wordpress\/#website"},"breadcrumb":{"@id":"https:\/\/mamchenkov.net\/wordpress\/2008\/02\/06\/portability-and-flexibility-win-over-performance\/#breadcrumblist"},"author":{"@id":"https:\/\/mamchenkov.net\/wordpress\/author\/leonid\/#author"},"creator":{"@id":"https:\/\/mamchenkov.net\/wordpress\/author\/leonid\/#author"},"datePublished":"2008-02-06T12:51:11+02:00","dateModified":"2008-02-06T12:51:11+02:00"},{"@type":"WebSite","@id":"https:\/\/mamchenkov.net\/wordpress\/#website","url":"https:\/\/mamchenkov.net\/wordpress\/","name":"Blog of Leonid Mamchenkov","description":"Life, universe, and everything else","inLanguage":"en-US","publisher":{"@id":"https:\/\/mamchenkov.net\/wordpress\/#person"}}]},"og:locale":"en_US","og:site_name":"Leonid Mamchenkov - Life, universe, and everything else","og:type":"article","og:title":"Portability and flexibility win over performance - Leonid Mamchenkov","og:description":"I noticed this ticket in WordPress Trac - Change enum to varchar and went in to see if there is any heated discussion.\u00c2 The issue is around field types used in SQL scheme for WordPress tables.\u00c2 Certain fields, such post status employed ENUM type with a set of allowed values.\u00c2 The proposed change in the","og:url":"https:\/\/mamchenkov.net\/wordpress\/2008\/02\/06\/portability-and-flexibility-win-over-performance\/","og:image":"https:\/\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2026\/03\/leonid-sailing-beer.jpg","og:image:secure_url":"https:\/\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2026\/03\/leonid-sailing-beer.jpg","og:image:width":1024,"og:image:height":1024,"article:published_time":"2008-02-06T09:51:11+00:00","article:modified_time":"2008-02-06T09:51:11+00:00","article:publisher":"https:\/\/www.facebook.com\/MamchenkovBlog","twitter:card":"summary_large_image","twitter:site":"@mamchenkov","twitter:title":"Portability and flexibility win over performance - Leonid Mamchenkov","twitter:description":"I noticed this ticket in WordPress Trac - Change enum to varchar and went in to see if there is any heated discussion.\u00c2 The issue is around field types used in SQL scheme for WordPress tables.\u00c2 Certain fields, such post status employed ENUM type with a set of allowed values.\u00c2 The proposed change in the","twitter:creator":"@mamchenkov","twitter:image":"https:\/\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2026\/03\/leonid-sailing-beer.jpg"},"aioseo_meta_data":{"post_id":"11050","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"breadcrumb_settings":null,"limit_modified_date":false,"ai":null,"created":"2023-07-19 20:58:38","updated":"2026-01-15 03:43:34","seo_analyzer_scan_date":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/mamchenkov.net\/wordpress\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/\" title=\"Technology\">Technology<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/programming\/\" title=\"Programming\">Programming<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tPortability and flexibility win over performance\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/mamchenkov.net\/wordpress"},{"label":"Technology","link":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/"},{"label":"Programming","link":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/programming\/"},{"label":"Portability and flexibility win over performance","link":"https:\/\/mamchenkov.net\/wordpress\/2008\/02\/06\/portability-and-flexibility-win-over-performance\/"}],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack-related-posts":[{"id":28861,"url":"https:\/\/mamchenkov.net\/wordpress\/2018\/10\/15\/documenting-lists-with-swagger\/","url_meta":{"origin":11050,"position":0},"title":"Documenting lists with Swagger","author":"Leonid Mamchenkov","date":"October 15, 2018","format":false,"excerpt":"Swagger is a great tool for documenting APIs.\u00a0 Not only it helps with keeping the documentation complete and up-to-date, but it also provides a handy sandbox for developers to play around with the API directly from the documentation. We use Swagger a lot at work.\u00a0 We've even pushed the bar\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2018\/10\/swagger-500x345.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":12480,"url":"https:\/\/mamchenkov.net\/wordpress\/2010\/04\/21\/unit-tests-with-cakephp\/","url_meta":{"origin":11050,"position":1},"title":"Unit tests with CakePHP","author":"Leonid Mamchenkov","date":"April 21, 2010","format":false,"excerpt":"I've spent a large part of yesterday setting up the testing environment for a CakePHP project.\u00a0 As always, every time I do something that I have done before, I wanted to do it better, using all the experienced that was acquired previously.\u00a0 And this often leads to the discovery of\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":28347,"url":"https:\/\/mamchenkov.net\/wordpress\/2018\/01\/22\/sql-keys-in-depth\/","url_meta":{"origin":11050,"position":2},"title":"SQL Keys in Depth","author":"Leonid Mamchenkov","date":"January 22, 2018","format":false,"excerpt":"SQL Keys in Depth is an excellent read if you want to brush up on your knowledge of database keys and how they affect the performance of your application.\u00a0 For the laziest among you, here are the summary points, based on an extensive research of 60+ articles, StackOverflow questions and\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":28898,"url":"https:\/\/mamchenkov.net\/wordpress\/2018\/10\/29\/soar-sql-optimizer-and-rewriter\/","url_meta":{"origin":11050,"position":3},"title":"SOAR &#8211; SQL Optimizer And Rewriter","author":"Leonid Mamchenkov","date":"October 29, 2018","format":false,"excerpt":"\u00a0 SOAR is an SQL Optimizer and Rewriter.\u00a0 It can help analyse, optimize, and rewrite SQL queries.\u00a0 Don't get offset by the Chinese documentation as default - there is an English translation. Here are some of the features: Cross-platform support, such as Linux, Mac, and Windows Support Heuristic Rules Suggestion\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2018\/10\/soar-1-500x208.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":24803,"url":"https:\/\/mamchenkov.net\/wordpress\/2015\/10\/03\/sql-vs-nosql-how-to-choose\/","url_meta":{"origin":11050,"position":4},"title":"SQL vs NoSQL: How to Choose","author":"Leonid Mamchenkov","date":"October 3, 2015","format":false,"excerpt":"\"SQL vs NoSQL: How to Choose\" article continues the discussion of SQL vs. NoSQL from the \"SQL vs NoSQL: The Differences\" article. \u00a0Both should be read in full. \u00a0But I'll keep the summary here for future use. SQL databases: store related data in tables require a schema which defines tables\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":28425,"url":"https:\/\/mamchenkov.net\/wordpress\/2018\/03\/09\/sqlbolt-learn-sql-with-simple-interactive-exercises\/","url_meta":{"origin":11050,"position":5},"title":"SQLBolt &#8211; Learn SQL with simple, interactive exercises","author":"Leonid Mamchenkov","date":"March 9, 2018","format":false,"excerpt":"SQLBolt is by far the best SQL tutorial that I've ever seen!\u00a0 Yes, I know, it's a very bold statement.\u00a0 But I promise that it's true. With hundreds of books, videos, and other tutorials around, the problem of delivering the understanding of data management, databases, and SQL to regular people\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2018\/03\/sqlbolt-500x366.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]}],"jetpack_sharing_enabled":true,"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts\/11050","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/comments?post=11050"}],"version-history":[{"count":0,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts\/11050\/revisions"}],"wp:attachment":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/media?parent=11050"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/categories?post=11050"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/tags?post=11050"},{"taxonomy":"keyring_services","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/keyring_services?post=11050"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}