Lowering the buffering time

Hello every one!
I am using Quicktime 7 and would like to know how reduce the 3 seconds buffering time I have when opening a SDP file that points to a H.264 incoming stream.
I have tried to change the sttings of edit->preferences->quictime preferences->transmission-> activate instaneous but it doesn't change anything. It should be in a tag named reception, not transmission, but is the most similar I have found.
Please I need your help.

To begin, what is the purpose of this job? How are you going to use it?
Open the preview window and mark a short range of representative footage with in and out points. Make your adjustments in the Inspector>Encoder  until the output file is acceptable image quality.
That is a very low data rate for a frame size that big. Why does it have to be 672 (and BTW, there is no way to get it to come out exactly at that rate)?
What is the source material? Are you changing the frame rate? If not don't use Frame Controls for Retiming.
The higher you crank up Frame Controls settings the longer the encode process. Was your source file interlaced? If not, leave that alone.
Try Main Profile and see whether the results are better.
Russ

Similar Messages

  • I just installed the latest Apple TV software update today. I can still play music from my iPhone 4 to th eATV but purchased movies don't seem to start playing now - or else the buffering time is huge compared with the previous software version.  Any fix

    I installed the latest software update on our Apple TV - this allows us to access VIMEO.  However, although we can still play music from an iPhone 4 we can no longer play purchased tv shows - unless the buffering process has been extended to be glacially slow!  It just shows it is loading but under the previous software release a show would start in a minute or two, nothing is happening afer 4 or 5 minutes with this one.

    Thank you BDAua. This is what I typed and the reply from Terminal
    java -version
    java version "1.6.0_45"
    Java(TM) SE Runtime Environment (build 1.6.0_45-b06-451-11M4406)
    Java HotSpot(TM) 64-Bit Server VM (build 20.45-b01-451, mixed mode)
    BTW - this application does NOT show up in the Applications folder and I consider that a bit odd.
    I also  tried typing Java for my computer to search for and this is what I got under
    Overview:
    PID: 944
    Host: localhost
    Main class: <unknown>
    Arguments: <none>
    JVM: Java HotSpot(TM) 64-Bit Server VM (20.45-b01-451, mixed mode)
    Java: version 1.6.0_45, vendor Apple Inc.
    Java Home: /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
    JVM Flags: <none>
    Heap dump on OOME: enabled
    I hope something is helpful within all of this info!

  • Lowering the export time without getting a pixellated fade in Compressor

    Hi. I'm exporting a 20 minute-long video made in Final Cut Pro, 1080i shot at 25 frames, in Compressor. The finished file needs to be 640x360 res, with a Video Bit Rate of 672 and an Audio of 128.
    My settings in Compressor are MPEG-4 for the file type, specifically an H.264 Baseline Profile one, I've got Multi-pass selected and the audio is in Stereo. Under Frame Controls, my resize filter is set to Better, with output fields to Progressive and Deinterlace set to Better. I've ticked Adaptive Details and the Rate Conversion is set to Better.
    My original settings were a lot more standard than this, with Fast selected where Better is now selected for example, and the video ended up looking presentable, but with pixellation for every cross dissolve, fade or even movement of the camera. I have looked through a few help topics on this forum and others, and the solutions I came across were to change the settings to the ones I have listed above, what I currently use.
    The problem now is that the video never gets exported! I click Submit, and the loading bar appears, moves a little, and the finishing time just goes up and up and up. Last time I tried to export the finishing time said 15 hours!
    How do I fix this without ending up with a low quality video?
    Thanks in advance.

    To begin, what is the purpose of this job? How are you going to use it?
    Open the preview window and mark a short range of representative footage with in and out points. Make your adjustments in the Inspector>Encoder  until the output file is acceptable image quality.
    That is a very low data rate for a frame size that big. Why does it have to be 672 (and BTW, there is no way to get it to come out exactly at that rate)?
    What is the source material? Are you changing the frame rate? If not don't use Frame Controls for Retiming.
    The higher you crank up Frame Controls settings the longer the encode process. Was your source file interlaced? If not, leave that alone.
    Try Main Profile and see whether the results are better.
    Russ

  • When im facetiming with someone and im watching a youtube video at the same time, the volume for the youtube video is lowered and the facetime volume stays the same, how can i change that?

    When im facetiming with someone and im watching a youtube video at the same time, the volume for the youtube video is lowered and the facetime volume stays the same, how can i change that?

    Have you ever even used skype on an iphone or ipod?  We tried it and there is no way to type to each other while you are video chatting.  You can do the typing during the video on a COMPUTER, but not on an iphone or ipod.

  • How to play one clip multiple times at the same time?

    I am writing a little game where a certain sound has to be played quite frequently. I load it as a Clip and play it with
    myClip.setFramePosition(0);
    myClip.loop(0);If the sound has to be played again but is still being played by another event, the setFramePosition() method resets the sound and the first playing instance is cut off.
    A workaround would be that each object that needs to play this sound would get its own copy, but that is not feasible due to heavy memory consumption.
    So here it goes: How can I play a single sound multiple times at the same time? Is that possible?
    Edited by: andrasz on Feb 27, 2009 12:37 AM

    If the sound has to be played again but is still being played by another event, the setFramePosition() method resets the sound and the first playing instance is cut off.
    A workaround would be that each object that needs to play this sound would get its own copy, but that is not feasible due to heavy memory consumption.
    So here it goes: How can I play a single sound multiple times at the same time? Is that possible?Ummmm, if you're using a clip, you'll have to maintain one copy per object that needs to play the sound concurrently. You could keep one master copy, and then create copies of the clip as necessary to play them, and then just dump the copies to decrease memory consumption.
    A second idea would be to write your own Clip class. Esentially, all you would need to do is dump some sound data onto a TargetDataline to play it. It'll handle the buffering and playing at the correct speed itself. If that's all you did, you should be able to dump multiple times from the same instance and play it multiple times.
    Obviously, that's just a theory. In practice, it may not work that way...

  • Reading and Writing from a text file at the same time

    I know who to use the Scanner and PrintWriter to read from and write to a .txt file. But these are limited. How can I read and write at the same time? Such as open a file and change every third character or change every second word to something else and then write it back. I found this [http://java.sun.com/docs/books/tutorial/essential/io/|http://java.sun.com/docs/books/tutorial/essential/io/] but its a little over my head. Is this the only way to do it?

    wrote:
    You are using buffered reads and writes I would assume, right? Also, how do you think most programs handle this sort of thing? I don't believe I'm using buffering.
    My code looks something like this
    //...necessary imports
    //then
    Scanner inFile = new Scanner (new file("filename1.txt"));
    PrintWriter outFile = new PrintWriter ("filename2.txt");
    //then stuff like
    int x = inFile.hasNextInt();
    outFile.println(x);
    camickr wrote:If you are changing the data "in place", that is none of the data in the file is shifted, then you can use a RandomAccessFile.
    Otherwise, you've been given the answer above.What is RandomAccessFile? Is it what I have a link to? Basically what I do is I write a bunch of numbers to a txt file and then change the numbers I don't need anymore to 0. So say I had 0 1 2 3 4 5 6 7 etc. I would like to to open the txt file and change every second one to 0 so then I'd have only odd numbers and 0s.
    I looked at the documentation for RandomAccessFile and it seems like it might be what I need.
    Thankyou both for your help so far. I took a java course in high school and they only taught me one way to get data from text files and that is what I just showed you. So maybe this questions are really stupid. lol
    Edited by: qw3n on Jun 13, 2009 7:46 PM

  • How do I use the buffered counting mode at a fixed frequency?

    Hi-
       I'm using a PCI-6259 M-series board with the Nidaq MX
    drivers in Labview 7.  I am trying to use one counter to do
    buffered edge counting (eg. count how many pulses appear on one input
    in 400 successive time bins of 10 uS each following a digital start
    pulse).  That is, my inputs are:
         Start Pulse (from experiment)
         Count Pulse (from a photomultiplier tube in the experiment)
    And I want to know:
        # of pulses from 0 to 10 uS after the Start Pulse
        # of pulses from 11 to 20 uS after the Start
    Pulse  (or, equally good, # of pulses from 0 to 20 uS....I can
    subtract later)
        # of pulses from 3991 to 4000 uS after the Start Pulse (or, # of pulses from 0 to 4000 uS...same thing)
       The Count Digital Events-Buffered-Finite-Ext Clk.vi sample
    appears to do half of this.  I can set this up CTR0 with the Count
    pulse (and possibly add the start pulse as an Arm Start....I can't use
    a Start Trigger, right?).  However, I need to generate a Sample
    Clock Source at 100 kHz (to trigger the card to buffer the counter
    value and start counting in the next bin).  So, I tried to set up
    CTR1 along the lines of Gen Dig Pulse Train-Finite-Dig Start.vi for
    generating a finite pulse train starting on a digital trigger, and
    connecting the output from CTR1 to the Sample Clock Source on
    CTR0.  However, I get an error -50103 saying the specified
    resource is reserved if I do both at the same time.  But, I can't
    see any resource conflicts...the pulse generation on CTR1 works fine
    alone, as well as the buffered counting on CTR0, and all the PFI pins
    are different.  Is there some reason I can't use both counters at
    the same time?
    I think I can use the FREQOUT pin on the card to generate a Sample
    Clock Source at 100 kHz, since I think this is independent of CTR0
    & CTR1.  However, I can't trigger the FREQOUT to always start
    when I get a Start Pulse (as I can if I trigger a Digital Pulse Train
    to start on a digital trigger...or can I?)...so my bins will move
    randomly by up to 10 uS.
       This is an unrelated topic, but is there a discussion of
    the relationship between the terminology in the manuals describing the
    cards (SOURCE, GATE, OUTPUT terminals) and the terminology in NidaqMX
    (Source Clock/SrcClk.Source, CI.CountEdges.Term, CO.Pulse.Term)? 
    Eg. is CTR0.GATE always the same thing as SrcClk.Source, or does it
    depend on the mode of operation?  If the M-series hardware manual
    says to connect something to the SOURCE input, how do I assign an
    alternate PFI pin to that SOURCE input in Labview?  Does it depend
    on the counter type, or is it always the same?

    Dave,
    Hi, you brought up several questions / issues -- let me see if I can help with some of them:
       I can set this up CTR0 with the Count pulse (and possibly add the start pulse as an Arm Start....I can't use a Start Trigger, right?).
    Yes, you could set up this way.  Also, as far as I know you're also correct that you need to configure for an "Arm Start" trigger using the DAQmx Trigger property node.  The "Arm Start" trigger is used for counter input (measurement) apps while the regular "Start Trigger" can be used for counter output (pulse generation) tasks.  I don't think I've experimented with recent versions of DAQmx though so it may have changed in 7.4 or 7.5
    ...I tried to set up CTR1 along the lines of Gen Dig Pulse Train-Finite-Dig Start.vi for generating a finite pulse train starting on a digital trigger, and connecting the output from CTR1 to the Sample Clock Source on CTR0.  However, I get an error -50103 saying the specified resource is reserved if I do both at the same time
    I highlighted the problem -- the FINITE pulse train.  DAQmx uses CTR0 as a "helper" when you generate a finite pulse train on CTR1.  It would generate a single pulse whose width corresponds to the exact amount of time needed for CTR1 to generate its specified # of pulses.
    For your specific app, I think you could generate a triggered continuous pulse train with CTR1 -- this wouldn't need to use CTR0 as a helper.  The Start Pulse would arm CTR0 at the same instant that CTR1 is started.   If you set up CTR0 to acquire on the trailing edge of CTR1's pulses, then you'll get the time bins you want.
    A final slight mod would be to setup CTR0 for measuring buffered periods (set units == "Ticks") instead of counting edges.  In that mode, you wouldn't have to do the subtraction at the end.
       This is an unrelated topic, but is there a discussion of the relationship between the terminology in the manuals describing the cards (SOURCE, GATE, OUTPUT terminals) and the terminology in NidaqMX (Source Clock/SrcClk.Source, CI.CountEdges.Term, CO.Pulse.Term)?  Eg. is CTR0.GATE always the same thing as SrcClk.Source, or does it depend on the mode of operation? 
    There's an NI app note and some discussion forum hits if you search the site for "daqmx terminology."
    If the M-series hardware manual says to connect something to the SOURCE input, how do I assign an alternate PFI pin to that SOURCE input in Labview?  Does it depend on the counter type, or is it always the same?
    Usually, that choice would be available under the DAQmx Channel property node.   There'll be some place to define where the input signal is coming from, generally with "Term" or "Terminal" as part of its name.   Sorry I can't be more specific as I'm not at my LV computer now.
    Happy counting!
    -Kevin P.

  • Can I import two sets of data to Essbase at the same time?

    For example, use two MaxL Scripts to import data to one Essbase Application Datatbase in the Same time, is there any impacted or will fail one of them or nothing will happen but just slower?

    Hi,
    It is possible you run 2 dataloads at the same time, there will be probably be an impact in performance than just loading one file at a time, not sure of the impact, you will have to test.
    If you are talking about a BSO cube you could also have a look at the essbase configuration setting DLTHREADSWRITE to see if you can improve the dataload time by increasing the threads.
    If it is an ASO cube then you should be able to do multiple dataloads into different buffers, though you have to commit them to the database at the sametime.
    Cheers
    John
    http://john-goodwin.blogspot.com/

  • Can my ipad use wifi and bluetooth at the same time?

    Hi
    I can stream radio via wifi radio apps and play through earphones. I can connect to my bluetooth speaker and play music stored on my ipad ok.
    When I connect up to my bluetooth speaker and try to stream the radio app it plays for a couple of seconds then stops for 20 seconds then plays for 2 seconds and carries on start, stop, start (I guess it's buffering or something?).
    Is it not possible to listen to a radio app and stream it to a bluetooth speaker at the same time?
    Any suggestions welcome

    Thanks for confirming it should work man.
    A quick check of the talktalk forum and it's my talktalk D-link 2780 router. It's a known problem.
    It all works ok on next doors router so Off to PC World for a decent router.
    Thanks again.

  • BAdI........How are they used in the real time scenario.

    Im a rookie in ABAP development and i was wondering that how we use the BAdI enhancement technique in the real time scenarios. Like do we get create them or we have few already built BAdI's which we work on? Can any body please explain how this works.

    Hi Ramana,
    Business add-ins are enhancements to the standard version of the system.
    Business Add-In is a new SAP enhancement technique based on ABAP Objects.
    They can be inserted into the SAP system based on specific user requirements.
    Each Business Add-In has:
    • at least one Business Add-In definition
    • a Business Add-In interface
    • a Business Add-In class that implements the interface
    In order to enhance a program, a Business Add-In must first be defined
    Subsequently two classes are automatically generated:
    • An interface with ‘IF_EX_’ inserted between the first and second characters of the BADI name.
    • An adapter class with ‘CL_EX_’ inserted between the first and second characters of the BADI name.
    The Application developer creates an interface for this Add-In.
    There are multiple ways of searching for BADI.
    • Finding BADI Using CL_EXITHANDLER=>GET_INSTANCE
    • Finding BADI Using SQL Trace (TCODE-ST05).
    • Finding BADI Using Repository Information System (TCODE- SE84).
    1. Go to the Transaction, for which we want to find the BADI, take the example of Transaction VD02. Click on System->Status. Double click on the program name. Once inside the program search for ‘CL_EXITHANDLER=>GET_INSTANCE’.
    Make sure the radio button “In main program” is checked. A list of all the programs with call to the BADI’s will be listed.
    The export parameter ‘EXIT_NAME’ for the method GET_INSTANCE of class CL_EXITHANDLER will have the user exit assigned to it. The changing parameter ‘INSTANCE’ will have the interface assigned to it. Double click on the method to enter the source code.Definition of Instance would give you the Interface name.
    2. Start transaction ST05 (Performance Analysis).
    Set flag field "Buffer trace"
    Remark: We need to trace also the buffer calls, because BADI database tables are buffered. (Especially view V_EXT_IMP and V_EXT_ACT)
    Push the button "Activate Trace". Start transaction VA02 in a new GUI session. Go back to the Performance trace session.
    Push the button "Deactivate Trace".
    Push the button "Display Trace".
    The popup screen "Set Restrictions for Displaying Trace" appears.
    Now, filter the trace on Objects:
    • V_EXT_IMP
    • V_EXT_ACT
    Push button "Multiple selections" button behind field Objects
    Fill: V_EXT_IMP and V_EXT_ACT
    All the interface class names of view V_EXT_IMP start with IF_EX_. This is the standard SAP prefix for BADI class interfaces. The BADI name is after the IF_EX_.
    So the BADI name of IF_EX_CUSTOMER_ADD_DATA is CUSTOMER_ADD_DATA
    3. Go to “Maintain Transaction” (TCODE- SE93).
    Enter the Transaction VD02 for which you want to find BADI.
    Click on the Display push buttons.
    Get the Package Name. (Package VS in this case)
    Go to TCode: SE84->Enhancements->Business Add-inns->Definition
    Enter the Package Name and Execute.
    Here you get a list of all the Enhancement BADI’s for the given package MB.
    Have a look at http://help.sap.com/saphelp_nw04/helpdata/en/04/f3683c05ea4464e10000000a114084/content.htm
    http://help.sap.com/saphelp_erp2005/helpdata/en/73/7e7941601b1d09e10000000a155106/frameset.htm
    http://support.sas.com/rnd/papers/sugi30/SAP.ppt
    http://www.sts.tu-harburg.de/teaching/sap_r3/ABAP4/abapindx.htm
    http://members.aol.com/_ht_a/skarkada/sap/
    http://www.ct-software.com/reportpool_frame.htm
    http://www.saphelp.com/SAP_Technical.htm
    http://www.kabai.com/abaps/q.htm
    http://www.guidancetech.com/people/holland/sap/abap/
    http://www.planetsap.com/download_abap_programs.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/c8/1975cc43b111d1896f0000e8322d00/content.htm
    /people/thomas.weiss/blog/2006/04/03/how-to-define-a-new-badi-within-the-enhancement-framework--part-3-of-the-series
    /people/thomas.weiss/blog/2006/04/18/how-to-implement-a-badi-and-how-to-use-a-filter--part-4-of-the-series-on-the-new-enhancement-framework
    How to develop BADI
    Reward if useful.
    Thanks
    Aneesh.

  • Importing custom slideshows that are created in iPhoto without lowering the quality to play on AppleTV

    Hi,
    My wife is a wedding photographer, so for part of her presentation process I create custom slideshows in iPhoto with music and the pictures presented in a certain order and at a certain pace. The slideshows look awesome on the computer. To get them to play on my 1st generation AppleTV, they want me to export the custom slideshow to iTunes at a much lower resolution to where it will play on the AppleTV. There has to be a better way to do this. Right now, by the time they're playable on the AppleTV, the picture quality is noticeably worse than the original presentation.
    I called apple and they first suggested selecting the slideshows in the events tab under photos on the AppleTV in iTunes. The pictures look great, but the custom slide show element is gone as it plays them in the order and pace it wants to play them with all background music stripped away. The gentleman transferred me to a 'Senior Advisor', who said the are not allow to assist on content matters. I told him it's not a matter of the content, but the process of creating it in iPhoto (Apple program), lowering the quality and exporting it to iTunes (Apple program), to watch it through AppleTV (Apple product). I got the feeling that was his way of saying he didn't really want to deal with this.
    He directed me to this board to see if someone else has experienced this as well or has a solution.
    I'm using AppleTV - 1st generation, and iLife '09.
    Any suggestions would be GREATLY appreciated.
    Dave

    Use the export option from the bottom of the slideshow
    and choose the custom export settings.

  • Has anyone ever successful​ly done a cont double buffer acq from multiple SCXI channels AND a spare AI of the MIO that controls the SCXI chassis at the same time?

    I am trying do a sanity check before I order some hardware.
    What I want to do is acquire from multiple channels in a SCXI chasis and as part of the same acquisition, also read from one of the "un-used" AI channels of the MIO card.
    My concern is this:
    All of the channels of the SCXI chassis get multiplexed down into a single channel of the MIO card that controls the SCXI chassis. This means that channel 0 has to do multiple A/D conversions to get a reading from all of the configured SCXI channels.
    Meanwhile, the other AI channel of the MIO only has to do one to get it's reading. It seems that the on-boar
    d clock of the MIO would have to run at two rates to be able to read all of my SCXI channels AND the other AI channel.
    What I want to do:
    I want to just configure a vitual channel for all of my SCXI channels AND one more for one "odd-ball" signal that is incompatable with all of the SCXI modules.
    Then I just want to list all of my virtual channels when I configure and start my continuous double buffered acquisition.
    I have successfully done all SCXI channels before, but I have never tried to use one of the un-used AI on the MIO at the same time. I have used the spare DIO lines previously, but that will not work in this app.
    So...
    If you have done this and it worked, I would greatly appreciate hearing about any special techniques that were used, etc.
    Thank you for reading this question,
    Ben
    Ben Rayner
    I am currently active on.. MainStream Preppers
    Rayner's Ridge is under construction

    Jeremy answered here
    http://exchange.ni.com/servlet/ProcessRequest?RHIV​EID=101&RPAGEID=135&HOID=50650000000800000007C4000​0&UCATEGORY_0=_30_%24_12_&UCATEGORY_S=0
    Ben Rayner
    I am currently active on.. MainStream Preppers
    Rayner's Ridge is under construction

  • Has anyone ever successfully done a cont double buffer acq from multiple SCXI channels AND a spare AI of the MIO that controls the SCXI chassis at the same time?

    I am trying do a sanity check before I order some hardware.
    What I want to do is acquire from multiple channels in a SCXI chasis and as part of the same acquisition, also read from one of the "un-used" AI channels of the MIO card.
    My concern is this:
    All of the channels of the SCXI chassis get multiplexed down into a single channel of the MIO card that controls the SCXI chassis. This means that channel 0 has to do multiple A/D conversions to get a reading from all of the configured SCXI channels.
    Meanwhile, the other AI channel of the MIO only has to do one to get it's reading. It seems that the on-boar
    d clock of the MIO would have to run at two rates to be able to read all of my SCXI channels AND the other AI channel.
    What I want to do:
    I want to just configure a vitual channel for all of my SCXI channels AND one more for one "odd-ball" signal that is incompatable with all of the SCXI modules.
    Then I just want to list all of my virtual channels when I configure and start my continuous double buffered acquisition.
    I have successfully done all SCXI channels before, but I have never tried to use one of the un-used AI on the MIO at the same time. I have used the spare DIO lines previously, but that will not work in this app.
    So...
    If you have done this and it worked, I would greatly appreciate hearing about any special techniques that were used, etc.
    Thank you for reading this question,
    Ben
    Ben Rayner
    I am currently active on.. MainStream Preppers
    Rayner's Ridge is under construction

    Jeremy answered here
    http://exchange.ni.com/servlet/ProcessRequest?RHIVEID=101&RPAGEID=135&HOID=50650000000800000007C40000&UCATEGORY_0=_30_%24_12_&UCATEGORY_S=0
    Ben Rayner
    I am currently active on.. MainStream Preppers
    Rayner's Ridge is under construction

  • TO REDUCE THE EXECUTION TIME OF REPORT

    HI,
         CAN ANYONE TELL ME THAT, HOW CAN I REDUCE THE EXECUTION TIME OF THE REPORT. IS THERE ANY IDEA TO IMPROVE THE PERFORMANCE OF THE REPORT.

    Hi Santosh,
    Good check out the following documentation
    <b>Performance tuning</b>
    For all entries
    Nested selects
    Select using JOINS
    Use the selection criteria
    Use the aggregated functions
    Select with view
    Select with index support
    Select … Into table
    Select with selection list
    Key access to multiple lines
    Copying internal tables
    Modifying a set of lines
    Deleting a sequence of lines
    Linear search vs. binary
    Comparison of internal tables
    Modify selected components
    Appending two internal tables
    Deleting a set of lines
    Tools available in SAP to pin-point a performance problem
    <b>Optimizing the load of the database</b>
    For all entries
    The for all entries creates a where clause, where all the entries in the driver table are combined with OR. If the number of entries in the driver table is larger than rsdb/max_blocking_factor, several similar SQL statements are executed to limit the length of the WHERE clause.
    The plus
    Large amount of data
    Mixing processing and reading of data
    Fast internal reprocessing of data
    Fast
    The Minus
    Difficult to program/understand
    Memory could be critical (use FREE or PACKAGE size)
    Some steps that might make FOR ALL ENTRIES more efficient:
    Removing duplicates from the the driver table
    Sorting the driver table
    If possible, convert the data in the driver table to ranges so a BETWEEN statement is used instead of and OR statement:
    FOR ALL ENTRIES IN i_tab
      WHERE mykey >= i_tab-low and
            mykey <= i_tab-high.
    Nested selects
    The plus:
    Small amount of data
    Mixing processing and reading of data
    Easy to code - and understand
    The minus:
    Large amount of data
    when mixed processing isn’t needed
    Performance killer no. 1
    Select using JOINS
    The plus
    Very large amount of data
    Similar to Nested selects - when the accesses are planned by the programmer
    In some cases the fastest
    Not so memory critical
    The minus
    Very difficult to program/understand
    Mixing processing and reading of data not possible
    Use the selection criteria
    SELECT * FROM SBOOK.                   
      CHECK: SBOOK-CARRID = 'LH' AND       
                      SBOOK-CONNID = '0400'.        
    ENDSELECT.                             
    SELECT * FROM SBOOK                     
      WHERE CARRID = 'LH' AND               
            CONNID = '0400'.                
    ENDSELECT.                              
    Use the aggregated functions
    C4A = '000'.              
    SELECT * FROM T100        
      WHERE SPRSL = 'D' AND   
            ARBGB = '00'.     
      CHECK: T100-MSGNR > C4A.
      C4A = T100-MSGNR.       
    ENDSELECT.                
    SELECT MAX( MSGNR ) FROM T100 INTO C4A 
    WHERE SPRSL = 'D' AND                
           ARBGB = '00'.                  
    Select with view
    SELECT * FROM DD01L                    
      WHERE DOMNAME LIKE 'CHAR%'           
            AND AS4LOCAL = 'A'.            
      SELECT SINGLE * FROM DD01T           
        WHERE   DOMNAME    = DD01L-DOMNAME 
            AND AS4LOCAL   = 'A'           
            AND AS4VERS    = DD01L-AS4VERS 
            AND DDLANGUAGE = SY-LANGU.     
    ENDSELECT.                             
    SELECT * FROM DD01V                    
    WHERE DOMNAME LIKE 'CHAR%'           
           AND DDLANGUAGE = SY-LANGU.     
    ENDSELECT.                             
    Select with index support
    SELECT * FROM T100            
    WHERE     ARBGB = '00'      
           AND MSGNR = '999'.    
    ENDSELECT.                    
    SELECT * FROM T002.             
      SELECT * FROM T100            
        WHERE     SPRSL = T002-SPRAS
              AND ARBGB = '00'      
              AND MSGNR = '999'.    
      ENDSELECT.                    
    ENDSELECT.                      
    Select … Into table
    REFRESH X006.                 
    SELECT * FROM T006 INTO X006. 
      APPEND X006.                
    ENDSELECT
    SELECT * FROM T006 INTO TABLE X006.
    Select with selection list
    SELECT * FROM DD01L              
      WHERE DOMNAME LIKE 'CHAR%'     
            AND AS4LOCAL = 'A'.      
    ENDSELECT
    SELECT DOMNAME FROM DD01L    
    INTO DD01L-DOMNAME         
    WHERE DOMNAME LIKE 'CHAR%' 
           AND AS4LOCAL = 'A'.  
    ENDSELECT
    Key access to multiple lines
    LOOP AT TAB.          
    CHECK TAB-K = KVAL. 
    ENDLOOP.              
    LOOP AT TAB WHERE K = KVAL.     
    ENDLOOP.                        
    Copying internal tables
    REFRESH TAB_DEST.              
    LOOP AT TAB_SRC INTO TAB_DEST. 
      APPEND TAB_DEST.             
    ENDLOOP.                       
    TAB_DEST[] = TAB_SRC[].
    Modifying a set of lines
    LOOP AT TAB.             
      IF TAB-FLAG IS INITIAL.
        TAB-FLAG = 'X'.      
      ENDIF.                 
      MODIFY TAB.            
    ENDLOOP.                 
    TAB-FLAG = 'X'.                  
    MODIFY TAB TRANSPORTING FLAG     
               WHERE FLAG IS INITIAL.
    Deleting a sequence of lines
    DO 101 TIMES.               
      DELETE TAB_DEST INDEX 450.
    ENDDO.                      
    DELETE TAB_DEST FROM 450 TO 550.
    Linear search vs. binary
    READ TABLE TAB WITH KEY K = 'X'.
    READ TABLE TAB WITH KEY K = 'X' BINARY SEARCH.
    Comparison of internal tables
    DESCRIBE TABLE: TAB1 LINES L1,      
                    TAB2 LINES L2.      
    IF L1 <> L2.                        
      TAB_DIFFERENT = 'X'.              
    ELSE.                               
      TAB_DIFFERENT = SPACE.            
      LOOP AT TAB1.                     
        READ TABLE TAB2 INDEX SY-TABIX. 
        IF TAB1 <> TAB2.                
          TAB_DIFFERENT = 'X'. EXIT.    
        ENDIF.                          
      ENDLOOP.                          
    ENDIF.                              
    IF TAB_DIFFERENT = SPACE.           
    ENDIF.                              
    IF TAB1[] = TAB2[].  
    ENDIF.               
    Modify selected components
    LOOP AT TAB.           
    TAB-DATE = SY-DATUM. 
    MODIFY TAB.          
    ENDLOOP.               
    WA-DATE = SY-DATUM.                    
    LOOP AT TAB.                           
    MODIFY TAB FROM WA TRANSPORTING DATE.
    ENDLOOP.                               
    Appending two internal tables
    LOOP AT TAB_SRC.              
      APPEND TAB_SRC TO TAB_DEST. 
    ENDLOOP
    APPEND LINES OF TAB_SRC TO TAB_DEST.
    Deleting a set of lines
    LOOP AT TAB_DEST WHERE K = KVAL. 
      DELETE TAB_DEST.               
    ENDLOOP
    DELETE TAB_DEST WHERE K = KVAL.
    Tools available in SAP to pin-point a performance problem
    The runtime analysis (SE30)
    SQL Trace (ST05)
    Tips and Tricks tool
    The performance database
    Optimizing the load of the database
    Using table buffering
    Using buffered tables improves the performance considerably. Note that in some cases a stament can not be used with a buffered table, so when using these staments the buffer will be bypassed. These staments are:
    Select DISTINCT
    ORDER BY / GROUP BY / HAVING clause
    Any WHERE clasuse that contains a subquery or IS NULL expression
    JOIN s
    A SELECT... FOR UPDATE
    If you wnat to explicitly bypass the bufer, use the BYPASS BUFFER addition to the SELECR clause.
    Use the ABAP SORT Clause Instead of ORDER BY
    The ORDER BY clause is executed on the database server while the ABAP SORT statement is executed on the application server. The datbase server will usually be the bottleneck, so sometimes it is better to move thje sort from the datsbase server to the application server.
    If you are not sorting by the primary key ( E.g. using the ORDER BY PRIMARY key statement) but are sorting by another key, it could be better to use the ABAP SORT stament to sort the data in an internal table. Note however that for very large result sets it might not be a feasible solution and you would want to let the datbase server sort it.
    Avoid ther SELECT DISTINCT Statement
    As with the ORDER BY clause it could be better to avoid using SELECT DISTINCT, if some of the fields are not part of an index. Instead use ABAP SORT + DELETE ADJACENT DUPLICATES on an internal table, to delete duplciate rows.
    Good Luck and thanks
    AK

  • Reading and Updating the table at the same time

    Hi all
    I need to read from a table to check whether a record exist in there or not, then  if not add the record to the table (in the same dataflow). Is there any way to use a table as a source and as a target at the same time?
    While I'm doing this procedure, I don't want to add a record that I had inserted before twice  (I need to get the latest veriosn of the table when I'm working with that). For example, in the same process, when I check the table and the record was not there, I insert the record, I read the table again , if this time again I want to read the same record that I had inserted just before, does DS distingish that, or all records will be comitted based on the commit size which is by default 1000?
    I can not change the commit size to 1 to tell DS to commit record by record, as I have turned on the transactional load and the commit size is disabled for me.
    Do you have any experience about my problem?
    Any help is greatly appreciated.

    You need two dataflows. A first that reads your source and inserts/updates the lookup table. And then you read your source again and use the now current lookup table.
    Even if you would set the commit rate to 1 it would not help as there are so many buffers between the transforms. What you would require is that only one row is in the dataflow at any given time - and that would take ages.

Maybe you are looking for

  • How to run the ejb project in j2ee server

    How to run the EJB project. I give like java conveterClient converterClient.jar here conveterClient is class file name and converterClient.jar is deployed file like wise i give some exception is come give some help pls friends

  • Selection  problem (No pixels are more than 50% selected)

    whenever I use ANy selction tool I get this message: No pixels are more than 50% selected. So I can't do anything to separate area of a photo. BTW, magic selection works. this just started a week ago after years of never seeing this message. Thanks f

  • Multiple domains hosted on one OSX Server

    Hi guys, Does anyone know if it is possible to host more than one domain name on OSX server? A client of mine runs a number of businesses and is considering Snow Leopard Server, and wants to have multiple email domains and websites hosted on one serv

  • Major wordpress issues in mozilla browser

    I have been using wordpress for a number of years now, mainly in Chrome. I had been repeatedly adviced to adopt firefox because it kept you from Google's prying eyes. I took the advice onboard and ran into a whole heap of issues... 1. In chrome I use

  • Skills Needed to Design either: Quake, Quake II, Q3A, Unreal,  oUnreal 2003

    I'm wondering, what kinds of skills do you need to design first person shooter games like those? For any of you who have designed them, would you need to be very familiar with linear algebra/abstract math/matrix theory type things? How advanced would