Hello Phil,

i tested both and without printing the result.

table_df = pd.read_sql_query(''SELECT, engine)
#print(table_df)
#query = "SELECT"
#for row in conn.execute(query).fetchall():
#    pass


both have nearly the same runtime. So this is not my problem. And yes, they 
are the same queries cause i copy pasted the select from my DBUI where is 
tested first the results and the runtime and i expected the same runtime in 
my program but no ;)

Greeting Manuel

Philip Semanchuk schrieb am Mittwoch, 8. Juni 2022 um 15:04:08 UTC+2:

>
>
> > On Jun 8, 2022, at 8:29 AM, Trainer Go <[email protected]> wrote:
> > 
> > When im using pandas with pd.read_sql_query()
> > with chunksize to minimiza the memory usage there is no difference 
> between both runtimes..
>
> Do you know that, or is that speculation?
>
> > 
> > table_df = pd.read_sql_query('''select , engine, chunksize = 30000)
> > 
> > for df in table_df:
> > print(df)
> > 
> > the runtime is nearly the same like 5 minutes
>
> Printing to the screen also takes time, and your terminal probably buffers 
> the results, which requires memory allocation. I’m not saying this is your 
> problem (it probably isn’t), but your test still involves pandas and your 
> terminal, both of which cloud the issue. You would benefit from simplifying 
> your tests.
>
> Did you try this suggestion from my previous email?
>
>
> > for row in conn.execute(my_query).fetchall(): 
> > pass 
>
> Also, are you 100% sure you’re executing the same query from SQLAlchemy 
> that you’re pasting into your DB UI?
>
> Cheers
> Philip
>
>
>
> > 
> > 
> > 
> > #print(table_df) result: #generator object SQLDatabase._query_iterator 
> at 0x0DC69C30>
> > I dont know if the query will be triggered by using print(table_df) the 
> result is generator object SQLDatabase._query_iterator at 0x0DC69C30>
> > 
> > but the runtime is 6 seconds like in the DBUI im using.
> > 
> > I have no clue what to do.
> > 
> > Greetings Manuel
> > 
> > Trainer Go schrieb am Mittwoch, 8. Juni 2022 um 09:27:04 UTC+2:
> > thank you Philip,
> > 
> > I will test it today.
> > 
> > 
> > Greetings Manuel
> > 
> > Philip Semanchuk schrieb am Dienstag, 7. Juni 2022 um 17:13:28 UTC+2:
> > 
> > 
> > > On Jun 7, 2022, at 5:46 AM, Trainer Go <[email protected]> wrote: 
> > > 
> > > Hello guys, 
> > > 
> > > Im executing 2 queries in my python program with sqlalchemy using the 
> pyodbc driver. 
> > > The database is a Adaptive SQL Anywhere Version 7 32 Bit. 
> > > 
> > > When im executing the queries in a DB UI it takes 5-6 seconds for both 
> together and when im using the same queries in my python programm it takes 
> 5-6 minutes instead of 6 seconds. What im doing wrong? Im new at this. 
> > 
> > To start, debug one query at a time, not two. 
> > 
> > Second, when you test a query in your DB UI, you’re probably already 
> connected to the database. Your Python program has to make the connection — 
> that’s an extra step, and it might be slow. If you step through the Python 
> program in the debugger, you can execute one statement at a time (the 
> connection and the query) to understand how long each step takes. That will 
> help to isolate the problem. 
> > 
> > Third, keep in mind that receiving results takes time too. If your DB UI 
> is written in C or some other language that allocates memory very 
> efficiently, it might be a lot faster than building a Pandas dataframe. 
> > 
> > You might want to eliminate Pandas entirely so you don’t have to 
> question whether or not that’s the source of your slowdown. You could do 
> this instead - 
> > 
> > for row in conn.execute(my_query).fetchall(): 
> > pass 
> > 
> > That will force your Python program to iterate over the result set 
> without being forced to allocate memory for all the results. 
> > 
> > Hope this helps 
> > Philip 
>
>

-- 
SQLAlchemy - 
The Python SQL Toolkit and Object Relational Mapper

http://www.sqlalchemy.org/

To post example code, please provide an MCVE: Minimal, Complete, and Verifiable 
Example.  See  http://stackoverflow.com/help/mcve for a full description.
--- 
You received this message because you are subscribed to the Google Groups 
"sqlalchemy" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sqlalchemy/5b47949c-e2c6-4dce-a31f-e342fd2cf6cdn%40googlegroups.com.

Reply via email to