• Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
  • Asset Store
  • Get Unity

UNITY ACCOUNT

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account
  • Blog
  • Forums
  • Answers
  • Evangelists
  • User Groups
  • Beta Program
  • Advisory Panel

Navigation

  • Home
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
    • Blog
    • Forums
    • Answers
    • Evangelists
    • User Groups
    • Beta Program
    • Advisory Panel

Unity account

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account

Language

  • Chinese
  • Spanish
  • Japanese
  • Korean
  • Portuguese
  • Ask a question
  • Spaces
    • Default
    • Help Room
    • META
    • Moderators
    • Topics
    • Questions
    • Users
    • Badges
  • Home /
avatar image
0
Question by ikeo · Jul 28, 2011 at 05:59 PM · iosspeedmonosqlite

Are there any tips for speeding up SQLite through Unity on iOS

I have a SQLite database that's approximately 50mb (~23000 items) in size w$$anonymous$$ch I am using to store mesh data to be loaded into my Unity project. An UPDATE on that data when debugging through Unity on my mac takes approx. 1.5 sec. Running the same code on the device takes approx. 10 sec. Does anyone know of any particular reason why the same code would act so drastically different on the two platforms? Is it a mono t$$anonymous$$ng? A device t$$anonymous$$ng?

Comment
Add comment · Show 3
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image Graham-Dunnett ♦♦ · Jul 28, 2011 at 08:21 PM 1
Share

Aren't you comparing the performance of a low-power mobile CPU against a desktop or laptop CPU with multiple cores, a large cache that has had 30 years of development effort to make it crunch through data?

avatar image ikeo · Jul 28, 2011 at 09:09 PM 0
Share

Yes. That's exactly what I'm comparing. And I suppose a SQLite expert could tell me that it's just the speed of the device. Or a Mono expert could tell me that this is a known issue with Mono on the iPhone. There are all sorts of apps out there that crunch SQLite data very quickly and it's one of apple's preferred ways to store data, so I would assume that for a relatively small select statement (in the grand scheme of things) performance should be better than what I'm getting.

avatar image Dreamora · Jul 29, 2011 at 10:13 AM 0
Share

They are using CoreData, not SQLite directly. Thats a day - night difference as apple opted CoreData to be invisible, smart and opted for the small to inexistent cashes that the mobile cpus have. Thats why you can crunch through programs with 200+ element listviews with detailed views behind it with images and movies etc all invisible with 20lines of code in Core Data at high performance and why the same in pure sqlite is gonna stutter like hell in basically any application.

1 Reply

· Add your reply
  • Sort: 
avatar image
0

Answer by ikeo · Aug 18, 2011 at 02:32 AM

I ended up figuring t$$anonymous$$s out. I had forgotten to index my databases. I was also using Guids as my primary keys in several tables. After switc$$anonymous$$ng my primary keys to ints and indexing the databases, performance is about what I'd expect. The database can do lookups on 100k elements in under a second. That's fine for my purposes. T$$anonymous$$s wasn't a unity or iOS problem, just a stupid programmer problem :)

Comment
Add comment · Share
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

Your answer

Hint: You can notify a user about this post by typing @username

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Welcome to Unity Answers

If you’re new to Unity Answers, please check our User Guide to help you navigate through our website and refer to our FAQ for more information.

Before posting, make sure to check out our Knowledge Base for commonly asked Unity questions.

Check our Moderator Guidelines if you’re a new moderator and want to work together in an effort to improve Unity Answers and support our users.

Follow this Question

Answers Answers and Comments

5 People are following this question.

avatar image avatar image avatar image avatar image avatar image

Related Questions

sqlite plugin anomalies on ios 0 Answers

The name 'Joystick' does not denote a valid type ('not found') 2 Answers

database access in IOS 0 Answers

mobile universal SQLite connection 0 Answers

Game runs in slow motion in iOS even using Time.deltaTime 1 Answer


Enterprise
Social Q&A

Social
Subscribe on YouTube social-youtube Follow on LinkedIn social-linkedin Follow on Twitter social-twitter Follow on Facebook social-facebook Follow on Instagram social-instagram

Footer

  • Purchase
    • Products
    • Subscription
    • Asset Store
    • Unity Gear
    • Resellers
  • Education
    • Students
    • Educators
    • Certification
    • Learn
    • Center of Excellence
  • Download
    • Unity
    • Beta Program
  • Unity Labs
    • Labs
    • Publications
  • Resources
    • Learn platform
    • Community
    • Documentation
    • Unity QA
    • FAQ
    • Services Status
    • Connect
  • About Unity
    • About Us
    • Blog
    • Events
    • Careers
    • Contact
    • Press
    • Partners
    • Affiliates
    • Security
Copyright © 2020 Unity Technologies
  • Legal
  • Privacy Policy
  • Cookies
  • Do Not Sell My Personal Information
  • Cookies Settings
"Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges