核心数据获取索引不起作用

时间:2017-12-19 10:58:44

标签: ios core-data swift4 xcode9.1

This is my xcdatamodel

添加运行时参数" -com.apple.CoreData.SQLDebug 4-com.apple.CoreData.SQLDebug 4"在控制台中获取以下sql日志

CoreData: annotation: Connecting to sqlite database file at "/Users/Nehru/Library/Developer/CoreSimulator/Devices/100745CD-E600-4E40-94E5-122C4A0B15B8/data/Containers/Data/Application/64296FC0-CA56-486B-B5C9-88E9DB956DEC/Documents/CoreDataIndexing_v1.0.sqlite"
CoreData: annotation: creating schema.
CoreData: sql: pragma page_size=4096
CoreData: sql: pragma auto_vacuum=2
CoreData: sql: BEGIN EXCLUSIVE
CoreData: sql: SELECT TBL_NAME FROM SQLITE_MASTER WHERE TBL_NAME = 'Z_METADATA'
CoreData: sql: CREATE TABLE ZLOGINUSER ( Z_PK INTEGER PRIMARY KEY, Z_ENT INTEGER, Z_OPT INTEGER, ZUSERID INTEGER, ZPASSWORD VARCHAR, ZUSERNAME VARCHAR ) 
CoreData: sql: CREATE INDEX IF NOT EXISTS Z_LoginUser_byPropertyIndex ON ZLOGINUSER (ZUSERID COLLATE BINARY ASC)
CoreData: annotation: Creating primary key table.
CoreData: sql: CREATE TABLE Z_PRIMARYKEY (Z_ENT INTEGER PRIMARY KEY, Z_NAME VARCHAR, Z_SUPER INTEGER, Z_MAX INTEGER)
CoreData: sql: INSERT INTO Z_PRIMARYKEY(Z_ENT, Z_NAME, Z_SUPER, Z_MAX) VALUES(1, 'LoginUser', 0, 0)
CoreData: sql: CREATE TABLE Z_METADATA (Z_VERSION INTEGER PRIMARY KEY, Z_UUID VARCHAR(255), Z_PLIST BLOB)
CoreData: sql: SELECT TBL_NAME FROM SQLITE_MASTER WHERE TBL_NAME = 'Z_METADATA'
CoreData: sql: DELETE FROM Z_METADATA WHERE Z_VERSION = ?
CoreData: details: SQLite bind[0] = 1
CoreData: sql: INSERT INTO Z_METADATA (Z_VERSION, Z_UUID, Z_PLIST) VALUES (?, ?, ?)
CoreData: details: SQLite bind[0] = 1
CoreData: details: SQLite bind[1] = "DA3988FD-D31D-4D43-95D9-3EC0710DFC62"
CoreData: details: SQLite bind[2] = <NSData len=295>
CoreData: annotation: Saving new meta data; version = 1 ; UUID = DA3988FD-D31D-4D43-95D9-3EC0710DFC62
CoreData: sql: SELECT TBL_NAME FROM SQLITE_MASTER WHERE TBL_NAME = 'Z_MODELCACHE'
CoreData: sql: CREATE TABLE Z_MODELCACHE (Z_CONTENT BLOB)
CoreData: sql: INSERT INTO Z_MODELCACHE (Z_CONTENT) VALUES (?)
CoreData: details: SQLite bind[0] = <NSData len=1730>
CoreData: annotation: Saving new model cache
CoreData: sql: COMMIT
CoreData: sql: pragma journal_mode=wal
CoreData: sql: pragma recursive_triggers=1
CoreData: sql: pragma journal_mode=wal
CoreData: sql: SELECT Z_VERSION, Z_UUID, Z_PLIST FROM Z_METADATA
CoreData: sql: SELECT TBL_NAME FROM SQLITE_MASTER WHERE TBL_NAME = 'Z_METADATA'
CoreData: sql: SELECT TBL_NAME FROM SQLITE_MASTER WHERE TBL_NAME = 'Z_MODELCACHE'

在控制台中获取以下日志时

Console output

0 0 0 SCAN TABLE ZLOGINUSER as t0

我想要这样的输出

0 0 0 SCAN TABLE ZLOGINUSER as t0使用索引Z_LoginUser_byPropertyIndex

请帮助我实现这一目标。感谢

0 个答案:

没有答案