{"action":"created","issue":{"url":"https://api.github.com/repos/doctrine/dbal/issues/768","labels_url":"https://api.github.com/repos/doctrine/dbal/issues/768/labels{/name}","comments_url":"https://api.github.com/repos/doctrine/dbal/issues/768/comments","events_url":"https://api.github.com/repos/doctrine/dbal/issues/768/events","html_url":"https://github.com/doctrine/dbal/pull/768","id":53337573,"number":768,"title":"[DBAL-1106] Improve schema introspection performance on Oracle","user":{"login":"deeky666","id":1411514,"avatar_url":"https://avatars.githubusercontent.com/u/1411514?v=3","gravatar_id":"","url":"https://api.github.com/users/deeky666","html_url":"https://github.com/deeky666","followers_url":"https://api.github.com/users/deeky666/followers","following_url":"https://api.github.com/users/deeky666/following{/other_user}","gists_url":"https://api.github.com/users/deeky666/gists{/gist_id}","starred_url":"https://api.github.com/users/deeky666/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/deeky666/subscriptions","organizations_url":"https://api.github.com/users/deeky666/orgs","repos_url":"https://api.github.com/users/deeky666/repos","events_url":"https://api.github.com/users/deeky666/events{/privacy}","received_events_url":"https://api.github.com/users/deeky666/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":{"login":"Ocramius","id":154256,"avatar_url":"https://avatars.githubusercontent.com/u/154256?v=3","gravatar_id":"","url":"https://api.github.com/users/Ocramius","html_url":"https://github.com/Ocramius","followers_url":"https://api.github.com/users/Ocramius/followers","following_url":"https://api.github.com/users/Ocramius/following{/other_user}","gists_url":"https://api.github.com/users/Ocramius/gists{/gist_id}","starred_url":"https://api.github.com/users/Ocramius/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Ocramius/subscriptions","organizations_url":"https://api.github.com/users/Ocramius/orgs","repos_url":"https://api.github.com/users/Ocramius/repos","events_url":"https://api.github.com/users/Ocramius/events{/privacy}","received_events_url":"https://api.github.com/users/Ocramius/received_events","type":"User","site_admin":false},"milestone":null,"comments":1,"created_at":"2015-01-04T14:19:42Z","updated_at":"2015-01-04T14:19:54Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/doctrine/dbal/pulls/768","html_url":"https://github.com/doctrine/dbal/pull/768","diff_url":"https://github.com/doctrine/dbal/pull/768.diff","patch_url":"https://github.com/doctrine/dbal/pull/768.patch"},"body":"This PR improves the overall schema introspection performance on Oracle by optimizing some of the `getList*()` method SQL queries in the platform.\r\nUnfortunately Oracle system views are rather slow, especially when joining tables. Using subqueries can improve the execution time a lot.\r\n\r\n**Improved queries**\r\n\r\n(the times have been measured using an exemplary query from the functional test suite)\r\n\r\n`getListTableForeignKeysSQL()`: Down from `~2.33s` to `~0.68s` per query\r\n`getListTableColumnsSQL()`: Down from `~0.49s` to `~0.14s` per query\r\n`getListTableIndexesSQL()`: Down from `~0.5s` to `~0.25s` per query\r\n\r\nOverall improvement of `OracleSchemaManagerTest` from `~100s` to `~37.5s`.\r\n\r\nI was quite impressed by the performance improvements :)"},"comment":{"url":"https://api.github.com/repos/doctrine/dbal/issues/comments/68634313","html_url":"https://github.com/doctrine/dbal/pull/768#issuecomment-68634313","issue_url":"https://api.github.com/repos/doctrine/dbal/issues/768","id":68634313,"user":{"login":"doctrinebot","id":2414358,"avatar_url":"https://avatars.githubusercontent.com/u/2414358?v=3","gravatar_id":"","url":"https://api.github.com/users/doctrinebot","html_url":"https://github.com/doctrinebot","followers_url":"https://api.github.com/users/doctrinebot/followers","following_url":"https://api.github.com/users/doctrinebot/following{/other_user}","gists_url":"https://api.github.com/users/doctrinebot/gists{/gist_id}","starred_url":"https://api.github.com/users/doctrinebot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/doctrinebot/subscriptions","organizations_url":"https://api.github.com/users/doctrinebot/orgs","repos_url":"https://api.github.com/users/doctrinebot/repos","events_url":"https://api.github.com/users/doctrinebot/events{/privacy}","received_events_url":"https://api.github.com/users/doctrinebot/received_events","type":"User","site_admin":false},"created_at":"2015-01-04T14:19:54Z","updated_at":"2015-01-04T14:19:54Z","body":"Hello,\n\nthank you for creating this pull request. I have automatically opened an issue\non our Jira Bug Tracker for you. See the issue link:\n\nhttp://www.doctrine-project.org/jira/browse/DBAL-1106\n\nWe use Jira to track the state of pull requests and the versions they got\nincluded in."}}