From 88c16dcfe9751f5eb73a9479035f43ec626c84a1 Mon Sep 17 00:00:00 2001 From: Olivier Chaze Date: Wed, 23 Nov 2022 15:50:01 +0100 Subject: [PATCH] Create indexes to allow SQL rewrites and optimizations Change-Id: Ia6908d13c91a02c47863ae6ac4b595ac98f9fd91 --- .../307430ab38bc_improve_qty_precision.py | 1 + ...create_index_idx_tenantid_begin_end_on_.py | 39 +++++++++++++++++++ 2 files changed, 40 insertions(+) create mode 100644 cloudkitty/storage/v1/sqlalchemy/alembic/versions/d875621d0384_create_index_idx_tenantid_begin_end_on_.py diff --git a/cloudkitty/storage/v1/sqlalchemy/alembic/versions/307430ab38bc_improve_qty_precision.py b/cloudkitty/storage/v1/sqlalchemy/alembic/versions/307430ab38bc_improve_qty_precision.py index e57dc528..44854618 100644 --- a/cloudkitty/storage/v1/sqlalchemy/alembic/versions/307430ab38bc_improve_qty_precision.py +++ b/cloudkitty/storage/v1/sqlalchemy/alembic/versions/307430ab38bc_improve_qty_precision.py @@ -23,6 +23,7 @@ Create Date: 2016-09-05 18:37:26.714065 revision = '307430ab38bc' down_revision = '792b438b663' + from alembic import op # noqa: E402 import sqlalchemy as sa # noqa: E402 diff --git a/cloudkitty/storage/v1/sqlalchemy/alembic/versions/d875621d0384_create_index_idx_tenantid_begin_end_on_.py b/cloudkitty/storage/v1/sqlalchemy/alembic/versions/d875621d0384_create_index_idx_tenantid_begin_end_on_.py new file mode 100644 index 00000000..041cd9af --- /dev/null +++ b/cloudkitty/storage/v1/sqlalchemy/alembic/versions/d875621d0384_create_index_idx_tenantid_begin_end_on_.py @@ -0,0 +1,39 @@ +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +# implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +"""Creating indexes to allow SQL query optimizations +Revision ID: d875621d0384 +Revises: c703a1bad612 +Create Date: 2022-11-23 15:36:05.331585 + +""" +from alembic import op + + +# revision identifiers, used by Alembic. +revision = 'd875621d0384' +down_revision = 'c703a1bad612' +branch_labels = None +depends_on = None + + +def upgrade(): + op.create_index('idx_rated_data_frames_date', 'rated_data_frames', + ['begin', 'end']) + op.create_index('idx_tenantid_begin_end', 'rated_data_frames', + ['tenant_id', 'begin', 'end']) + + +def downgrade(): + op.drop_index('idx_tenantid_begin_end', 'rated_data_frames') + op.drop_index('idx_rated_data_frames_date', 'rated_data_frames')