diff --git a/src/ai/backend/manager/models/alembic/versions/41f332243bf9_add_missing_vfolder_indexes.py b/src/ai/backend/manager/models/alembic/versions/41f332243bf9_add_missing_vfolder_indexes.py
new file mode 100644
index 00000000000..ce67bb307b0
--- /dev/null
+++ b/src/ai/backend/manager/models/alembic/versions/41f332243bf9_add_missing_vfolder_indexes.py
@@ -0,0 +1,31 @@
+"""add-missing-vfolder-indexes
+
+Revision ID: 41f332243bf9
+Revises: 7ff52ff68bfc
+Create Date: 2024-02-28 17:27:40.387122
+
+"""
+
+from alembic import op
+
+# revision identifiers, used by Alembic.
+revision = "41f332243bf9"
+down_revision = "7ff52ff68bfc"
+branch_labels = None
+depends_on = None
+
+
+def upgrade():
+    op.create_index(op.f("ix_vfolders_host"), "vfolders", ["host"], unique=False)
+    op.create_index(
+        op.f("ix_vfolders_ownership_type"), "vfolders", ["ownership_type"], unique=False
+    )
+    op.create_index(op.f("ix_vfolders_status"), "vfolders", ["status"], unique=False)
+    op.create_index(op.f("ix_vfolders_usage_mode"), "vfolders", ["usage_mode"], unique=False)
+
+
+def downgrade():
+    op.drop_index(op.f("ix_vfolders_usage_mode"), table_name="vfolders")
+    op.drop_index(op.f("ix_vfolders_status"), table_name="vfolders")
+    op.drop_index(op.f("ix_vfolders_ownership_type"), table_name="vfolders")
+    op.drop_index(op.f("ix_vfolders_host"), table_name="vfolders")
diff --git a/src/ai/backend/manager/models/kernel.py b/src/ai/backend/manager/models/kernel.py
index b556cd7c30b..1f4316741be 100644
--- a/src/ai/backend/manager/models/kernel.py
+++ b/src/ai/backend/manager/models/kernel.py
@@ -469,6 +469,7 @@ async def handle_kernel_exception(
         default=KernelRole.COMPUTE,
         server_default=KernelRole.COMPUTE.name,
         nullable=False,
+        index=True,
     ),
     sa.Column("status_changed", sa.DateTime(timezone=True), nullable=True, index=True),
     sa.Column("status_info", sa.Unicode(), nullable=True, default=sa.null()),
diff --git a/src/ai/backend/manager/models/vfolder.py b/src/ai/backend/manager/models/vfolder.py
index f5bce4d780c..3e7938756fb 100644
--- a/src/ai/backend/manager/models/vfolder.py
+++ b/src/ai/backend/manager/models/vfolder.py
@@ -223,7 +223,7 @@ class VFolderCloneInfo(NamedTuple):
     metadata,
     IDColumn("id"),
     # host will be '' if vFolder is unmanaged
-    sa.Column("host", sa.String(length=128), nullable=False),
+    sa.Column("host", sa.String(length=128), nullable=False, index=True),
     sa.Column("quota_scope_id", QuotaScopeIDType, nullable=False),
     sa.Column("name", sa.String(length=64), nullable=False, index=True),
     sa.Column(
@@ -231,6 +231,7 @@ class VFolderCloneInfo(NamedTuple):
         EnumValueType(VFolderUsageMode),
         default=VFolderUsageMode.GENERAL,
         nullable=False,
+        index=True,
     ),
     sa.Column("permission", EnumValueType(VFolderPermission), default=VFolderPermission.READ_WRITE),
     sa.Column("max_files", sa.Integer(), default=1000),
@@ -248,6 +249,7 @@ class VFolderCloneInfo(NamedTuple):
         EnumValueType(VFolderOwnershipType),
         default=VFolderOwnershipType.USER,
         nullable=False,
+        index=True,
     ),
     sa.Column("user", GUID, sa.ForeignKey("users.uuid"), nullable=True),  # owner if user vfolder
     sa.Column("group", GUID, sa.ForeignKey("groups.id"), nullable=True),  # owner if project vfolder
@@ -258,6 +260,7 @@ class VFolderCloneInfo(NamedTuple):
         default=VFolderOperationStatus.READY,
         server_default=VFolderOperationStatus.READY,
         nullable=False,
+        index=True,
     ),
     # status_history records the most recent status changes for each status
     # e.g)